-
Notifications
You must be signed in to change notification settings - Fork 90
Release process
Bill Ticehurst edited this page Jan 24, 2024
·
1 revision
Some high-level notes for the team when doing a release.
- Ensure all issues and PRs targeting the release are checked in.
- Figure out the build number for the next release.
- For the first of a new major or minor release, update
major_minor
in./version.py
and start patch version from0
again. - For a patch release, choose the next sequential patch number for the
<major>.<minor>
in use. - If unsure, check https://pypi.org/project/qsharp/#history or https://www.npmjs.com/package/qsharp-lang?activeTab=versions to see what the prior version was.
- For the first of a new major or minor release, update
- Determine if this will be a
dev
,rc
, orstable
release. - Navigate internally to the "microsoft.qsharp-lang.release" pipeline in ADO and click "Run pipeline"
- Ensure the "branch/tag" is set as appropriate (usually
main
). - Click on the "Variables" field and ensure
BUILD_NUMBER
is the patch version chosen above, andBUILD_TYPE
isdev
,rc
, orstable
- Click "Run" to start the pipeline. It usually takes about 12 - 15 mins to build all artifacts for all platforms.
- After building the artifacts, it will pause for approval. Under a heading titled "Related" you should see something like "8 published" as shown below
- Click on this and ensure the artifacts look right (versions, pre-release tags, file sizes, etc.) as a final check.
- If so, click on "Review" and approve proceeding to the publish stage.
- The 3 "publish" jobs may take up to 5 mins, and the VS Code Marketplace validation may take another few mins before the new version is "live".
- Validate that versions are showing up as expected on PyPI, npm, and VS Code marketplace.
- If this was a
stable
release, then tag the commit that was built and create a GitHub release from it:- You create and publish a tag using commands such as
git tag -a v1.0 deadbeef
andgit push origin v1.0
respectively. - Create a new release from that tag at https://github.com/microsoft/qsharp/releases/new following the format of prior releases.
- You create and publish a tag using commands such as