|
5 | 5 |
|
6 | 6 | # Release candidate (Monday, XXX XX) |
7 | 7 |
|
8 | | -- [ ] Announce the code freeze (not just to team but also to debugger and language server) |
| 8 | +- [ ] Announce the code freeze on both Teams and e-mail, leave enough time for teams to surface any last minute issues that need to get in before freeze. Make sure debugger and Language Server teams are looped in as well. |
9 | 9 | - [ ] Update master for the release |
10 | 10 | - [ ] Create a branch against `master` for a pull request |
11 | 11 | - [ ] Change the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) from a `-dev` suffix to `-rc` (🤖) |
12 | 12 | - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) is up-to-date (🤖) |
13 | 13 | - [ ] Extension will pick up latest version of `debugpy`. If you need to pin to a particular version see `install_debugpy.py`. |
14 | | - - [ ] Update `languageServerVersion` in `package.json` to point to the latest version of the [Language Server](https://github.com/Microsoft/python-language-server). |
| 14 | + - [ ] Update `languageServerVersion` in `package.json` to point to the latest version of the [Language Server](https://github.com/Microsoft/python-language-server). Check with the language server team if this needs updating. |
15 | 15 | - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/master/CHANGELOG.md) (🤖) |
16 | 16 | - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/master/news) (typically `python news --final --update CHANGELOG.md | code-insiders -`) |
17 | | - - [ ] Copy over the "Thanks" section from the previous release |
| 17 | + - [ ] Copy over the "Thanks" section from the previous release into the "Thanks" section for the new release |
18 | 18 | - [ ] Make sure the "Thanks" section is up-to-date (e.g. compare to versions in [`requirements.txt`](https://github.com/microsoft/vscode-python/blob/master/requirements.txt)) |
19 | 19 | - [ ] Touch up news entries (e.g. add missing periods) |
20 | 20 | - [ ] Check the Markdown rendering to make sure everything looks good |
21 | 21 | - [ ] Add any relevant news entries for `debugpy` and the language server if they were updated |
22 | | - - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (see team notes) |
23 | | - - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Repository.txt) as appropriate |
| 22 | + - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (Notes for this process are in the Team OneNote under Python VS Code -> Dev Process -> Third-Party Notices / TPN file) |
| 23 | + - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Repository.txt) as appropriate. This file is manually edited so you can check with the teams if anything needs to be added here. |
24 | 24 | - [ ] Create a pull request against `master` (🤖) |
25 | 25 | - [ ] Merge pull request into `master` |
26 | 26 | - [ ] Update the [`release` branch](https://github.com/microsoft/vscode-python/branches) |
27 | | - - [ ] Delete the `release` branch in the repo |
28 | | - - [ ] Create a new `release` branch from `master` |
29 | | - - (alternately, force-push the master branch to the GitHub "release" branch) |
30 | | - - [ ] (if necessary) Request that the branch be set anew as "protected" |
| 27 | + - [ ] If there are `release` branches that are two versions old (e.g. release-2020.[current month - 2]) you can delete them at this time |
| 28 | + - [ ] Create a new `release-YYYY.MM` branch from `master` |
31 | 29 | - [ ] Update master post-release (🤖) |
32 | | - - [ ] Bump the version number to the next monthly ("YYYY.M.0-dev") release in the `master` branch |
| 30 | + - [ ] Bump the version number to the next monthly ("YYYY.MM.0-dev") release in the `master` branch |
33 | 31 | - [ ] `package.json` |
34 | 32 | - [ ] `package-lock.json` |
35 | 33 | - [ ] Create a pull request against `master` |
36 | 34 | - [ ] Merge pull request into `master` |
37 | | -- [ ] Announce the code freeze is over |
38 | | -- [ ] Update [Component Governance](https://dev.azure.com/ms/vscode-python/_componentGovernance) (Click on "microsoft/vscode-python" on that page) |
| 35 | +- [ ] Announce the code freeze is over on the same channels |
| 36 | +- [ ] Update [Component Governance](https://dev.azure.com/ms/vscode-python/_componentGovernance) (Click on "microsoft/vscode-python" on that page). Notes are in the OneNote under Python VS Code -> Dev Process -> Component Governance. |
39 | 37 | - [ ] Provide details for any automatically detected npm dependencies |
40 | 38 | - [ ] Manually add any repository dependencies |
41 | | -- [ ] GDPR bookkeeping (@brettcannon) (🤖; see team notes) |
| 39 | +- [ ] GDPR bookkeeping (@brettcannon) (🤖; Notes in OneNote under Python VS Code -> Dev Process -> GDPR) |
42 | 40 | - [ ] Open appropriate [documentation issues](https://github.com/microsoft/vscode-docs/issues?q=is%3Aissue+is%3Aopen+label%3Apython) |
43 | 41 | - new features |
44 | 42 | - settings changes |
45 | 43 | - etc. (ask the team) |
46 | | -- [ ] Schedule a bug bash |
47 | | -- [ ] Begin drafting a [blog](http://aka.ms/pythonblog) post |
| 44 | +- [ ] Schedule a bug bash. Aim for close after freeze so there is still time to fix release bugs before release. Ask teams before bash for specific areas that need testing. |
| 45 | +- [ ] Begin drafting a [blog](http://aka.ms/pythonblog) post. Contact the PM team for this. |
48 | 46 | - [ ] Ask CTI to test the release candidate |
49 | 47 |
|
50 | 48 | # Final (Monday, XXX XX) |
51 | 49 |
|
52 | 50 | ## Preparation |
53 | 51 |
|
54 | 52 | - [ ] Make sure the [appropriate pull requests](https://github.com/microsoft/vscode-docs/pulls) for the [documentation](https://code.visualstudio.com/docs/python/python-tutorial) -- including the [WOW](https://code.visualstudio.com/docs/languages/python) page -- are ready |
55 | | -- [ ] final updates to the `release` branch |
56 | | - - [ ] Create a branch against `release` for a pull request |
57 | | - - [ ] Update the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) (🤖) |
| 53 | +- [ ] Final updates to the `release-YYYY.MM` branch |
| 54 | + - [ ] Create a branch against `release-YYYY.MM` for a pull request |
| 55 | + - [ ] Update the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) to remove the `-rc` (🤖) |
58 | 56 | - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) is up-to-date (the only update should be the version number if `package-lock.json` has been kept up-to-date) (🤖) |
59 | 57 | - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/master/CHANGELOG.md) (🤖) |
60 | 58 | - [ ] Update version and date for the release section |
61 | 59 | - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/master/news) and copy-and-paste new entries (typically `python news --final | code-insiders -`; quite possibly nothing new to add) |
62 | 60 | - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (🤖; see team notes) |
63 | 61 | - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Repository.txt) manually if necessary |
64 | | - - [ ] Create pull request against `release` (🤖) |
65 | | - - [ ] Merge pull request into `release` |
| 62 | + - [ ] Create pull request against `release-YYYY.MM` (🤖) |
| 63 | + - [ ] Merge pull request into `release-YYYY.MM` |
66 | 64 | - [ ] Make sure component governance is happy |
67 | 65 |
|
68 | 66 | ## Release |
69 | 67 |
|
70 | 68 | - [ ] Publish the release via Azure DevOps |
71 | | - - [ ] Make sure [CI](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md) is passing |
72 | | - - [ ] Make sure the "Upload" stage on the release page succeeded |
| 69 | + - [ ] Make sure [CI](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md) is passing. Try a re-run on any failing CI test stages. If tests still won't pass contact the owning team. |
| 70 | + - [ ] On Azure DevOps on the page for the CI run after it succeeds there will now be a "Releases" tab which is populated with a release entry. Click that entry to go to the release page, which shows the "Upload" and "Publish" stages |
| 71 | + - [ ] Click the deploy button on the "Upload" stage and make sure that it succeeds |
73 | 72 | - [ ] Make sure no extraneous files are being included in the `.vsix` file (make sure to check for hidden files) |
74 | | - - [ ] Deploy the "Publish" stage |
| 73 | + - [ ] Click the deploy button on the "Publish" stage, this will push out the release to the public |
| 74 | + - [ ] From a VSCode instance uninstall the python extension. After the publish see if the new version is available from the extensions tab. Download it and quick sanity check to make sure the extension loads. |
75 | 75 | - [ ] Create a [GitHub release](https://github.com/microsoft/vscode-python/releases) |
76 | | - - [ ] Have tag match the released version |
77 | | - - [ ] Copy the changelog entry for the release as the description |
| 76 | + - [ ] The previous publish step should have created a release here, but it needs to be edited |
| 77 | + - [ ] Edit the tag to match the version of the released extension |
| 78 | + - [ ] Copy the changelog entry into the release as the description |
78 | 79 | - [ ] Publish [documentation changes](https://github.com/Microsoft/vscode-docs/pulls?q=is%3Apr+is%3Aopen+label%3Apython) |
79 | 80 | - [ ] Publish the [blog](http://aka.ms/pythonblog) post |
80 | 81 | - [ ] Determine if a hotfix is needed |
81 | | -- [ ] Merge `release` back into `master` (🤖) |
| 82 | +- [ ] Merge `release-YYYY.MM` back into `master`. Don't overwrite the master `-dev` version in package.json. (🤖) |
82 | 83 |
|
83 | 84 | ## Clean up after _this_ release |
84 | 85 |
|
|
0 commit comments