Release 0.11.0
Checklist for a new release
-
Review CHANGELOG.md
andAUTHORS.md
have been updated. -
Update Unreleased
chapter title inCHANGELOG.md
toX.Y.Z (YYYY-MM-DD)
. Commit it. -
Review @deprecated
andFutureWarning
s that can be cleaned up now. -
CI pipeline:
-
Automated pipeline passes. -
All Test (py3.x, Windows, manual)
pass (trigger manually!).
-
-
Commit pip frozen requirements for future reference: -
Go to the
Test (py3.9, Linux)
pipeline job and download theartifacts
(right side "Job artifacts"-->
"Download"). -
Unzip, get the
frozen-requirements.txt
. -
Paste it in
frozen_requirements
directory. -
Rename it, commit & push:
NEW_VERSION=$(python setup.py --version) echo $NEW_VERSION mv frozen_requirements/frozen-requirements.txt frozen_requirements/frozen-requirements-$NEW_VERSION.txt git add frozen_requirements/frozen-requirements-$NEW_VERSION.txt git commit -m "Add pip frozen requirements for $NEW_VERSION" git push
-
-
Create tag for bumped version: -
Merge this MR into
main
. -
Create and push an annotated tag
vX.Y.Z
pointing to the merge commit:echo $NEW_VERSION git tag -a "v${NEW_VERSION}" # Note: should be vX.Y.Z, not X.Y.Z # You will be prompted for a tag description here. Provide a list of highlights. git push origin "v${NEW_VERSION}"
-
-
Add Unreleased
chapter back toCHANGELOG.md
. Commit and push it tomain
directly (no need to review it). Commit message could be, for example,start development of vX.Y.(Z+1)
. -
Create and push an annotated tag vX.Y.(Z+1).dev
pointing to the commit above. Commit annotation could be, for example,Start development of vX.Y.Z+1
. -
Read-the-Docs setup:
-
Enable docs build for the new tag over here. - Configuration:
-
Active
=True -
Hidden
=False -
Privacy Level
=Public
-
- Configuration:
-
Change both the Default version
andDefault branch
of the docs to the tag that was released over here. Hit Save! -
Make sure the docs build and check on RTD. - Manually rebuild
latest
by hittingBuild version:
over here. - Check both the
latest
and the new version links on RTD work by clicking through to Changelog (hit Ctrl+F5).
- Manually rebuild
-
-
Create new release on GitLab. - Meaningful title
- List of highlights followed by changelog.
- Add a few images or animated GIFs showcasing the new exciting features.
-
When
Release to test.pypi.org
job of the tag pipeline succeeds:-
Install package in (test) env and validate (e.g., run a quick notebook). pip install quantify-scheduler==x.x.x --extra-index-url=https://test.pypi.org/simple/
-
(For creating test env)
ENV_NAME=qtest # Adjust PY_VER=3.8 DISPLAY_NAME="Python $PY_VER Quantify Test Env" && echo $DISPLAY_NAME # Adjust conda create --name $ENV_NAME python=$PY_VER conda activate $ENV_NAME conda install -c conda-forge jupyterlab python -m ipykernel install --user --name=$ENV_NAME --display-name="$DISPLAY_NAME"
-
(For creating test env)
-
-
Release on PyPi by triggering manual Release to pypi.org
job and wait till it succeeds. -
Post the new release in Slack ( #software-for-users
and#software-for-developers
).- PS Rockets are a must!
🚀 🚀 🚀
- PS Rockets are a must!
-
Inform the Quantify Marketing Team.