-
Notifications
You must be signed in to change notification settings - Fork 14
Creating a release
-
Gather closed issues and pull requests related to the release into a GitHub milestone:
https://github.com/NeuralEnsemble/ephyviewer/milestones
-
Create a branch called "release-X.X.X" using the real release number.
-
In the docs, add a change log entry referencing each notable PR and issue (remember to add a link from
releasenotes.rst
!) -
In
version.py
, set the new version number, making sure that you remove the ".dev". -
Commit these changes to the branch with the message "Prepare release X.X.X", push the branch to GitHub, and open a pull request.
-
Do not merge yet, since you should first verify PyPI is happy with your changes. On your local machine, delete any old build directories:
cd ephyviewer rm -rf build dist ephyviewer.egg-info
-
Build for distribution:
python setup.py sdist bdist_wheel
-
Upload the build artifacts to PyPI's test server:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
-
Verify the test release looks OK:
-
If PyPI is OK, merge the pull request with commit name "Release X.X.X".
-
Verify that the new release notes built correctly:
https://ephyviewer.readthedocs.io/en/latest/releasenotes.html
-
If the docs are OK, tag the PR merge commit with the release number and push the tag to GitHub.
-
If all is well, upload to the official PyPI server (THIS CANNOT BE UNDONE OR OVERWRITTEN):
twine upload dist/*
-
Verify the official release looks OK:
-
In
version.py
, increment the version number to the next patch release and append ".dev". -
Commit these changes directly to master with the message "After release" and push to GitHub.
-
Create a GitHub release from the pushed tag containing the release notes:
https://github.com/NeuralEnsemble/ephyviewer/tags
-
Close the milestone and create a new one for the next minor release:
https://github.com/NeuralEnsemble/ephyviewer/milestones
-
In your fork of conda-forge/ephyviewer-feedstock, create a branch called "build-X.X.X" using the real release number.
-
Edit the feedstock's
meta.yaml
file by:- updating the version number
- updating the sha256 (which can be obtained for the
tar.gz
file here) - resetting the build number to 0
-
If any other changes to the build recipe are required, such as updating the minimum versions of dependencies, make those now.
-
Commit these changes to the branch with the message "Build for release X.X.X", push the branch to GitHub, and open a pull request.
-
Post
@conda-forge-admin, please rerender
in the pull request and wait for the bot to update the recipe. -
Make sure the checklist in the pull request's initial post is complete.
-
Wait for all tests to pass:
https://dev.azure.com/conda-forge/feedstock-builds/_build?definitionId=8410&_a=summary
-
If tests are OK, merge the pull request.
-
The new build should appear on Anaconda Cloud fairly quickly:
https://anaconda.org/conda-forge/ephyviewer/files
but the index of the CDN that distributes the build may take a little longer to sync with it. You can check to see if the new release is listed in the index with this command (with the actual version number):
curl https://conda-static.anaconda.org/conda-forge/rss.xml -s 2>&1 | grep ephyviewer-X.X.X
The last time the index was updated can be checked using this command:
curl https://conda-static.anaconda.org/conda-forge/rss.xml -s 2>&1 | head -10 | tail -1
If this takes a very long time (many hours), you can post on Gitter to see if anyone is available to force the CDN's index to update: