-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Release Checklist
- make sure that
__init__.py
specifies the new version number - track all relevant issues and PRs via a version-specific milestone
- make sure that there are no major known bugs that should not be released
- check that the CI pipelines on master are all green
- create a Release with the Tag as ´v1.2.3´ and a human-readable title like the ones on previous releases
After the last step, the GitHub Action "release-pipeline" triggers and automatically builds and publishes the new version to PyPI.
- If for some reason, the release must be "unpublished", this is possible by manually deleting it on PyPI and GitHub. HOWEVER, PyPI will not accept another release with the same version number!
- The
release-pipeline
has atest-install-job
, which could fail if the PyPI index did not update fast enough.
- Monitor the update the conda-forge/pymc3-feedstock repository for new PRs. The bots should automatically pick up the new version and open a PR to update it. Manual intervention may be required though (see the repos PR history for examples).
- create a new "on deck" section in the
RELEASE-NOTES.md
- re-run notebooks with the new release
- build documentation
This documents the recommended procedure for creating a new release of PyMC3. Each of the following steps should be executed in order:
-
Create branch for release, and check out this branch.
-
Ensure that the example notebooks in
docs/source/notebooks
run without error. -
Update
RELEASE-NOTES.md
with all important changes since the previous release. -
Increment the version number. This is currently located in
pymc3\__init__.py
. -
Test that it installs with
pip
(with new version number), and run tests:- Create a new test virtual environment (or conda environment)
- activate virtualenv
python -m pip install -e . python -m pip install pytest nose nose-parameterized conda install -c conda-forge python-graphviz python -m pytest -xv pymc3/tests
-
Push branch to GitHub and confirm TravisCI test pass.
-
Merge into master.
-
Tag release:
git tag -a <version_number> -m <release_message>
-
Push tag to GitHub:
git push --tags
-
Release on PyPI:
python setup.py sdist upload python setup.py bdist_wheel upload
-
Release on CondaForge
Update
meta.yml
information.