Release Process

Location: Pulp SmashRelease Process

The two goals of the release process are to create a tagged commit which bumps the version file and describes changes since the last release, and to generate packages which can be uploaded to PyPI.

There are other ways to create a release this one is just an example.

Assumptions

This release process was created assuming that your fork is named origin, and the upstream is repository is named upstream.

Steps

  1. Assume that your master branch is up to date.
git checkout master
git fetch --all
git merge upstream/master
git status
  1. Clean any unnecessary files. Mainly the ones in dist dir.
make dist-lean
  1. From the root of Pulp Smash dir verify the current version.
cat VERSION
  1. From the root of Pulp Smash dir run the script to create a new release.
git status
./scripts/release.sh 'string_new_version'
  1. Sanity check the dist dir.
ls dist/

6. A new commit was added by the script, and VERSION file should be updated. Verify that HEAD is pointing to the right commit.

cat VERSION
git show HEAD
  1. Push to Github. Verify that files were updated and a new TAG was created.
git push origin master --tags && git push upstream master --tags

8. Upload to PyPI. Assure that your have the twine package in your Python env.

twine upload dist/*
  1. Go to PyPI and verify that files were uploaded properly.