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
This gist describes steps in how to achieve the release goal. There are other ways, but I am familiar with this one described below.
This gist assumes that there are two remotes. Your fork is named origin
.
And the upstream is named upstream
.
Assure that your master branch is up to date.
git checkout master git fetch --all git merge upstream/master git status
Besides that assure that there is no virtualenv activated.
Clean any previous unnecessary files. Mainly the ones in dist folder.
git clean -dfx
From the root of pulp-smash project run the script related to release.
./scripts/release.sh
Verify that dis folder contains the proper files.
ls dist/
A new commit was created by the script, and version file should be updated.
git show HEAD
Verify that HEAD is pointing to right commit.
Push to Github.
git push origin master --tags && git push upstream master --tags
Verify that files were pushed properly, and a new tag was created.
Upload to Pypi- Warehouse. From the root of pulp-smash project.
twine upload dist/*
Go to PyPi, and verify that files were uploaded properly.
Assure that python3-wheels package are installed.
sudo dnf install -y python3-wheel