-
Notifications
You must be signed in to change notification settings - Fork 478
Releasing Manticore
To release manticore
-
Merge a PR bumping the version number in setup.py and updating the CHANGELOG.md with the version being released. Conventional commit message is "Manticore x.y.z".
- In the changelog don't forget to update the number in the "unreleased" line and check the date is correct.
-
Based on external contribution activity in this last release, send Suzanne external contributors, emails, and links to their prs/contributions, indicating their size (small, medium, large).
-
Check you are tagging master branch
git checkout master
git pull origin master
-
python setup.py develop
#install manticore from this copy -
python -m manticore --version
should show expected version
-
Tag that commit with the version number, and push tags.
git tag -a 0.1.xx -m "Manticore 0.1.xx"
-
git push origin 0.1.xx
orgit push origin --tags
-
Make a draft release in github releases page https://github.com/trailofbits/manticore/releases. Select the right tag. The txt must be heavily based on the lastest part of the Changelog at this point: https://raw.githubusercontent.com/trailofbits/manticore/master/CHANGELOG.md
-
Make the distribution file.
- Make a fresh clone of the repository
git clone git@github.com:trailofbits/manticore.git
(If you use you normal copy the distribution file may include unexpected files in tests/) - Delete or manage what is in the dist/ folder so you do not accidentally upload anything else
-
python setup.py sdist
# this creates the distribution file in dist/ folder
- Make a fresh clone of the repository
Uploading to pypi is not reversible please try it out on test.pypi.org first
7a. Push to test pypi and test it
- twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- Check you see the correct version at https://test.pypi.org/project/manticore
- Install it from test pypi (ideally on a fresh box):
- pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple manticore
7b. Optional. If no access to test pypi. Do a fresh install in a virtualenv.
- virtualenv --python=python3.7 temp
- source temp/bin/activate
- Untar the distro file you are about to upload
- python setup.py install
- Check everything looks good
Uploading to pypi is not reversible please try it out on test.pypi.org first
- Push to pypi
twine upload dist/*
- Update the github releases page https://github.com/trailofbits/manticore/releases
- Confirm that readthedocs documentation was generated correctly https://manticore.readthedocs.io/en/latest/
- Determine date for next release
Readmes and changelogs are content best edited in a collaborative editing environment like Google Docs (vs GH Pull Request).
Use the Github diff links to see all the commits between the last release and now, e.g. https://github.com/trailofbits/manticore/compare/0.1.3...HEAD
Start with the categories of changes from keepachangelog
Types of changes
Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.
and start categorizing features/commits from the diff into those