-
Notifications
You must be signed in to change notification settings - Fork 242
Release checklist
peterbrittain edited this page Oct 25, 2023
·
17 revisions
The latest code should be able to use github actions to create a release. New process is as follows:
- Consider fixing up github signing action... or delete and doc manual process!!
- Check CHANGES.rst is up to date.
- Update README.rst to reference new release in any URLs.
- Update sample URL
- Check everything in and check pipeline works.
- Use test pypi package to check pip can install.
- Push new tag.
- Create new branch in GitHub.
git pull
git checkout <branch>
git tag <version>
git push origin <tag>
- Force re-build of docs if necessary to pick up tagged version.
- Edit release notes for tag on github.
The rest of this article is for older release with no workflows...
There is currently a known issue with building the public package on Windows: the CRLF format breaks PYPI and so formatting of the long description goes horribly wrong.
In addition, the last time I tried, the resulting package insisted on installing pypiwin32 on Linux. I believe that this may have been fixed by my recent application of http://stackoverflow.com/a/32955538/4994021, but haven't yet verified this, so... This still needs further testing on next distribution. In the meantime only build releases on Linux.
Quick checklist before going public with a new release:
- Check CHANGES.rst is up to date.
- Update README.rst to reference new release in any URLs.
- Update sample URL
- Check everything in and run the full set of tests.
- Create new branch for major updates.
- create in Github
- git pull/merge
- Check latest docs build (and update RTD build branches as needed - try to keep 3 active).
- Tag, rebuild and check the dist installs.
git tag <version>
python setup.py test
python setup.py sdist bdist_wheel --universal
- Check that both these files (sdist and wheel) install and can run latest samples.
- Try uploading to pypitest and then installing on all platforms
twine upload --repository testpypi dist/asciimatics*
pip install -U --index-url https://test.pypi.org/simple/ asciimatics
-
twine upload dist/asciimatics*
(assuming just have new builds to upload).
- Push tag to github if not done from there originally.
git push origin <tag>
- Force re-build of docs if necessary to pick up tagged version.
- Release!
- Edit release notes for tag on github.