-
Notifications
You must be signed in to change notification settings - Fork 36
Creating a release
Bradley Dice edited this page Jan 9, 2020
·
24 revisions
Once a release due date has been established, the feature-freeze date should be communicated to all developers. Usually about 1 week prior to release.
The main citation metadata is stored in the CITATION.cff
file. The authors listed here should only contain the core contributors and the main PI(s).
The contributors.yaml
contains additional contributors who will be listed as part of the Zenodo record, but would not be listed by name in citations.
bumpversion
is configured to not make a tag. GitHub's release tool will make the tag when you click "Publish Release."
- Create release branch (see instructions below).
- Finalize changelog entries (review commits to ensure completeness).
- Update version and release date in changelog.
- Review and update
CITATION.cff
andcontributors.yaml
. - Update Zenodo metadata (
.zenodo.json
) by running./.sync-zenodo-metadata.py --in-place
. - Make sure that package requirements are consistent in
setup.py
andrequirements.txt
. - Draft release on GitHub (put changelog in description, see past releases for format). Click "Save draft", not "Publish release" for now.
- Merge master into release branch.
- Bump version with
bumpversion [patch|minor|major]
command. - Push release branch.
- Create a pull request for the release branch.
- Check TestPyPI package builds and review README.
- Apply any last minute changes if needed.
- Merge the release branch's pull request into
master
(see instructions). - Publish release on GitHub from
master
(which should be pointing to the commit from the merged PR). - Update conda-forge feedstock. A pull request will be automatically created by the conda-forge autotick bot within a few hours. However, the recipe must be manually updated if dependencies have changed since the last release.
- Check that the conda packages have been updated.
- Review and create Zenodo release (see instructions).
git fetch origin
git checkout master
git pull
git checkout -b release/X.X.X
git push -u origin release/X.X.X
git checkout release/X.X.X
git pull
git checkout master
git pull
git merge --no-ff release/X.X.X
git push
git branch -d release/X.X.X
In case that the automatic upload failed, please use the upload-zenodo script:
upload-zenodo glotzerlab signac vX.X.X --new-version --deposit-id 2594024