Release 0.12.2
Checklist for a new release
-
Review CHANGELOG.mdandAUTHORS.mdhave been updated. -
Update Unreleasedchapter title inCHANGELOG.mdtoX.Y.Z (YYYY-MM-DD). Commit it. -
Review @deprecatedandFutureWarnings 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_requirementsdirectory. -
Rename it, commit & push:
NEW_VERSION=X.Y.Z 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.Zpointing 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 summary of the release. git push origin "v${NEW_VERSION}"
-
-
Add Unreleasedchapter back toCHANGELOG.md. Commit and push it tomaindirectly (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).devpointing 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 versionandDefault branchof the docs to the tag that was released over here. Hit Save! -
Make sure the docs build and check on RTD. - Manually rebuild
latestby hittingBuild version:over here. - Check both the
latestand 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.orgjob 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.orgjob and wait till it succeeds. -
Post the new release in Slack ( #software-for-usersand#software-for-developers).- PS Rockets are a must!
🚀 🚀 🚀
- PS Rockets are a must!
-
Inform the Quantify Marketing Team.