Skip to content

Commit edc2329

Browse files
authored
Update jupyter endgame plan template (#13841)
* Update sanity test platforms * Adsd link to template * Polish steps in endgame plan.
1 parent 25909c1 commit edc2329

File tree

1 file changed

+61
-50
lines changed

1 file changed

+61
-50
lines changed

.github/release_plan.md

Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,66 @@
1-
# Get the build green (Early in endgame week)
1+
* [Endgame Template](https://github.com/microsoft/vscode-jupyter/blob/main/.github/release_plan.md)
2+
3+
## Thursday
24

35
- [ ] Ensure that any CI test failures have issues assigned to that area's owner.
46
- [ ] Work with the build champ to drive the build to green by fixing/disabling tests or pinging area owners to do so.
57

6-
# Release candidate (Friday of endgame week)
7-
- [ ] Review [Component Governance](https://dev.azure.com/monacotools/Monaco/_componentGovernance/191876) (Click on "microsoft/vscode-jupyter" on that page) and resolve all High/Severe issues.
8-
- [ ] Focus on resolving `Critical` and `High` priority issues as others will be addressed in the `debt` week.
9-
- [ ] Manually add any repository dependencies (if you can't add manually, refer [here](https://docs.opensource.microsoft.com/tools/cg/features/cgmanifest/)). Only add a cgmanifest.json if the components are not NPM or are not dev only.
8+
## Friday
9+
- [ ] Review [Component Governance](https://dev.azure.com/monacotools/Monaco/_componentGovernance/191876) (Click on "microsoft/vscode-jupyter" on that page) and resolve all High/Severe issues.
10+
- [ ] Focus on resolving `Critical` and `High` priority issues as others will be addressed in the `debt` week.
11+
- [ ] Manually add any repository dependencies (if you can't add manually, refer [here](https://docs.opensource.microsoft.com/tools/cg/features/cgmanifest/)). Only add a cgmanifest.json if the components are not NPM or are not dev only.
1012
Instructions on updating `npm` dependencies in `package.json` & `package-lock.json` can be found [here](https://github.com/microsoft/vscode-jupyter/wiki/Resolving-Component-Governance-and-Dependabot-issues-(updating-package-lock.json)).
11-
- [ ] Create new release branch with format `release/release-YYYY.MM`.
12-
- [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-jupyter/blob/main/ThirdPartyNotices-Repository.txt) as appropriate. This file is manually edited so you can check with the teams if anything needs to be added here.
13-
- [ ] Disable [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283). (`...` menu > Settings > Processing of new requests: Disabled)
14-
- [ ] Create a PR to `main` with the following changes... (Warning: this should happen right after creating the release branch. If this is deferred till later, the `main` and `release` branches can diverge significantly, which may cause merge conflicts.)
15-
- [ ] Merge the changes from release (ThirdPartyNotices) into `main` branch
16-
- [ ] At this point, the vscode engine version should also be the same as in the release branch- will be bumped when the next release happens
17-
- [ ] Bump the version number to the next monthly ("YYYY.M.100") version number (e.g. if the latest is `2022.2.100`, bump it to `2022.3.100`).
18-
- [ ] Run `npm install` to update `package-lock.json`
19-
20-
# Testing (Monday of VS Code release week)
21-
22-
- [ ] Obtain VS Code [stable RC](https://builds.code.visualstudio.com/builds/stable) for sanity testing
23-
- [ ] Sanity test release candidate VSIX against VS Code RC
24-
- Create a VSIX to sanity test by running the [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) against the `release/release-YYYY.MM` branch
25-
- You do not need an approval to build the VSIX, but you can keep the pipeline running and ask for an approval once the sanity test is successful to publish it.
26-
- Make sure that the sanity test hits both macOS and Windows builds
27-
- [ ] Candidate bug fixes found from sanity test should be checked into `main` and cherry-picked to `release` branch
28-
- After a candidate fix is merged, a pre-release build can be released by manually running [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283) against the release branch.
29-
30-
# Release (Tuesday or day before VS Code publishes, whichever is later)
31-
32-
## Preparation
33-
34-
- [ ] Make sure [Component Governance](https://dev.azure.com/monacotools/Monaco/_componentGovernance/191876) is happy
35-
36-
## Release
37-
38-
- [ ] Verify the PR Pipeline on Github actions is green against the release branch.
39-
- [ ] Manually run the [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) against the `release/release-YYYY.MM` branch
40-
- [ ] Approve the `Publish` stage
41-
- [ ] Push a tag with the released version number on the commit that was released
42-
- [ ] If any steps were unclear or changed in this release plan please update the `release_plan.md` file to make it clear for the next release
43-
44-
# Day of VS Code releasing the next insider version (Wednesday)
45-
- [ ] Bump the engines.vscode version on the `main` branch to point to the next version. For example, from `1.58.0` to `1.59.0`
46-
- [ ] Reenable [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283) (`...` menu > Settings > Processing of new requests: Enabled)
47-
48-
# As needed
49-
50-
- [ ] Determine if a hotfix is needed
51-
- Use the same `release/release-YYYY.MM` branch
52-
- [ ] Ensure the version in package.json is updated as follows:
53-
* If released version is `YYYY.MM.100`, then hot fix will be `YYYY.MM.110`
54-
* If released version is `YYYY.MM.110`, then hot fix will be `YYYY.MM.120`
55-
- [ ] Push another tag for the new version's commit
13+
- [ ] Create new release branch with format `release/release-YYYY.MM`.
14+
- [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-jupyter/blob/main/ThirdPartyNotices-Repository.txt) as appropriate. This file is manually edited so you can check with the teams if anything needs to be added here.
15+
- [ ] Disable [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283). (`...` menu > Settings > Processing of new requests: Disabled)
16+
- [ ] Create a PR to `main` with the following changes... (Warning: this should happen right after creating the release branch. If this is deferred till later, the `main` and `release` branches can diverge significantly, which may cause merge conflicts.)
17+
- [ ] Merge the changes from release (ThirdPartyNotices) into `main` branch
18+
- [ ] At this point, the vscode engine version should also be the same as in the release branch- will be bumped when the next release happens
19+
- [ ] Bump the version number to the next monthly ("YYYY.M.100") version number (e.g. if the latest is `2022.2.100`, bump it to `2022.3.100`).
20+
- [ ] Run `npm install` to update `package-lock.json`
21+
22+
## Monday (Debt/Release week)
23+
24+
- [ ] Obtain VS Code [stable RC](https://builds.code.visualstudio.com/builds/stable) for sanity testing
25+
- [ ] Manually run the [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) against the `release/release-YYYY.MM` branch
26+
- Enable `Publish Extension`, you do not need an approval to build the VSIX.
27+
- DO NOT ask for approval for the extension publish step, this step should only be done after sanity testing is done and ready to release.
28+
- [ ] Sanity test release candidate VSIX against VS Code RC
29+
- [ ] Windows
30+
- [ ] win32-x64
31+
- [ ] win32-ia32
32+
- [ ] win32-arm64
33+
- [ ] macOS
34+
- [ ] darwin-x64
35+
- [ ] darwin-arm64
36+
- [ ] Linux
37+
- [ ] linux-arm64
38+
- [ ] linux-armhf
39+
- [ ] linux-x64
40+
- [ ] alpine-arm64
41+
- [ ] alpine-x64
42+
- [ ] Web
43+
- [ ] Candidate bug fixes found from sanity test should be checked into `main` and cherry-picked to `release` branch
44+
- After a candidate fix is merged, a pre-release build can be released by manually running [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283) against the release branch.
45+
46+
## Tuesday
47+
48+
- [ ] Make sure [Component Governance](https://dev.azure.com/monacotools/Monaco/_componentGovernance/191876) is happy
49+
- [ ] Release
50+
- [ ] Verify the PR Pipeline on Github actions is green against the release branch.
51+
- [ ] Approve the `Publish` stage of the last [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) that's successfully sanity tested.
52+
- [ ] Push a tag with the released version number on the commit that was released
53+
- [ ] If any steps were unclear or changed in this release plan please update the `release_plan.md` file to make it clear for the next release
54+
55+
## Wednesday/Thursday (Day of VS Code releasing the next insider version)
56+
- [ ] Bump the engines.vscode version on the `main` branch to point to the next version. For example, from `1.58.0` to `1.59.0`
57+
- [ ] Reenable [the pre-release devops pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=283) (`...` menu > Settings > Processing of new requests: Enabled)
58+
59+
## As needed
60+
61+
- [ ] Determine if a hotfix is needed
62+
- Use the same `release/release-YYYY.MM` branch
63+
- [ ] Ensure the version in package.json is updated as follows:
64+
* If released version is `YYYY.MM.100`, then hot fix will be `YYYY.MM.110`
65+
* If released version is `YYYY.MM.110`, then hot fix will be `YYYY.MM.120`
66+
- [ ] Push another tag for the new version's commit

0 commit comments

Comments
 (0)