Skip to content

Commit

Permalink
Update release_plan (#11843)
Browse files Browse the repository at this point in the history
* Update release_plan

* Remove notes about the changelog

* Delete news, final update to changelog
  • Loading branch information
roblourens committed Nov 29, 2022
1 parent 959b937 commit d8b45d7
Show file tree
Hide file tree
Showing 15 changed files with 37 additions and 591 deletions.
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Fixes #

- [ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
- [ ] Title summarizes what is changing.
- [ ] Has a [news entry](https://github.com/Microsoft/vscode-jupyter/tree/main/news) file (remember to thank yourself!).
- [ ] Appropriate comments and documentation strings in the code.
- [ ] Has sufficient logging.
- [ ] Has telemetry for feature-requests.
Expand Down
111 changes: 31 additions & 80 deletions .github/release_plan.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,53 @@
# Prerequisites

- Python 3.7 and higher
- run `python3 -m pip install --user -r news/requirements.txt`

# Get the build green (Early in endgame week)

- [ ] Ensure that any CI test failures have issues assigned to that area's owner.
- [ ] Drive the build to green by fixing/disabling tests or pinging area owners to do so.

# Move open issues (Tuesday of VS Code endgame week, XXX XX)

- [ ] Ask the team to move all open issues to next milestone or remove milestone and put back in triage. This allows endgame champ to have a better understanding of done state.
- [ ] Schedule a bugbash if needed.

# Release candidate (Friday of VS Code endgame week, XXX XX)
- [ ] Work with the build champ to drive the build to green by fixing/disabling tests or pinging area owners to do so.

# Release candidate (Friday of endgame week)
- [ ] 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.

- [ ] Focus on resolving `Critical` and `High` priority issues as others will be addressed in the `debt` week.
- [ ] 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.
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)).
- [ ] Create new release branch with format `release/release-YYYY.MM.100`
- [ ] Create a pull request against `release/release-YYYY.MM.100` for changes
- [ ] Bump the vscode engine version in package.json
- [ ] Run `npm install` to verify `package-lock.json` did not get updated aside from the vscode engine version.
- If there are minor changes, they can be just be updated in the release branch and later ported back to main.
- [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-jupyter/blob/main/CHANGELOG.md)
- [ ] Run [`news`](https://github.com/Microsoft/vscode-jupyter/tree/main/news) (typically `python news --final --update CHANGELOG.md | code-insiders -`)
- [ ] Update the date at the top to when the release is planned.
- [ ] Copy over the "Thanks" section from the previous release into the "Thanks" section for the new release
- [ ] Make sure the "Thanks" section is up-to-date (e.g. compare to versions in [`requirements.txt`](https://github.com/microsoft/vscode-jupyter/blob/main/requirements.txt))
- [ ] Touch up news entries (e.g. add missing periods)
- [ ] Check the Markdown rendering to make sure everything looks good
- [ ] Create new release branch with format `release/release-YYYY.MM.100`.
- [ ] Prepare a PR to this branch with the following changes...
- [ ] Remove the `-insiders` from the vscode engine version. Run `npm install` to update this value in `package-lock.json`.
- [ ] 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.
- [ ] Merge pull request into `release/release-YYYY.MM.100`
- [ ] Update the [`release` branch](https://github.com/microsoft/vscode-jupyter/branches)
- [ ] If there are `release` branches that are two versions old (e.g. `release-2020.[current month - 2].100`) you can delete them at this time (you would have to un-protect the release branches temporarily to delete them).
- [ ] Update `main` after creating the release branch. (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.)
- [ ] Merge the changes from release (Changelog, delete news, ThirdPartyNotices) into `main` branch
- [ ] Bump the version number to the next monthly ("YYYY.M.100") release in the `main` branch
- If latest is `2022.2.100`, them bump it to `2022.3.100`,
- This ensures the new new pre-release targets the next version.
- [ ] `package.json`
- [ ] `package-lock.json`
- [ ] Confirm the 3rd part of the version ends with `100`.
- [ ] Create a pull request against `main`
- [ ] Merge pull request into `main`
- [ ] GDPR bookkeeping (🤖)
- https://gdpr.datasmart.ms/ search `EntityName like 'ms-toolsai.jupyter/%' and complete = 'false'`
- Typically just update columns DataClassification, BusinessJustification, InteralOnly, Suppressed, Retired
- Suspected PII requires more
- [ ] Open appropriate [documentation issues](https://github.com/microsoft/vscode-docs/issues?q=is%3Aissue+is%3Aopen+label%3Apython)
- new features
- settings changes
- etc. (ask the team)
- [ ] Release notes from VS Code have something about Jupyter
- Example doc update [here](https://github.com/microsoft/vscode-docs/pull/5256)
- [ ] Schedule a sanity test. 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.
- [ ] Ensure that closed issues targeting this release will be verfied, asking for verification steps if needed. Sanity test can be used to help with this.
- `is:issue sort:updated-desc milestone:"<milestone>" label:verification-needed -label:verified`
- [ ] 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.)
- [ ] Merge the changes from release (ThirdPartyNotices) into `main` branch
- [ ] 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
- [ ] 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`).
- [ ] Run `npm install` to update `package-lock.json`
- [ ] Schedule a sanity test. Ask team for specific areas that need testing.
- [ ] Ask CTI (Python Tools CTI) to test the release candidate
- Test plan document: https://github.com/microsoft/vscode-jupyter/blob/main/.github/test_plan.md

# Testing (Monday of VS Code release week, XXX XX)
# Testing (Monday of VS Code release week)

- [ ] Obtain VS Code [prebuild](https://builds.code.visualstudio.com/builds/stable) for sanity testing
- [ ] Sanity test release candidate VSIX against VS Code prebuild
- [ ] Obtain VS Code [stable RC](https://builds.code.visualstudio.com/builds/stable) for sanity testing
- [ ] Sanity test release candidate VSIX against VS Code RC
- Make sure that the sanity test hits both macOS and Windows builds
- [ ] Candidate bug fixes found from sanity test should be checked into `main` and cherry-picked to `release` branch

# Release (Tuesday or day before VS Code publishes, whichever is later)

## Preparation

- [ ] Make sure the [appropriate pull requests](https://github.com/microsoft/vscode-docs/pulls) for the release notes(https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v<vscode version>.md, make note of the branch and file name).
- [ ] Include all new new features under a section named `Jupyter` with screenshots or animated gifs.
- [ ] Fixes, code health should remain in the Jupyter change log.
- [ ] Make sure [Component Governance](https://dev.azure.com/monacotools/Monaco/_componentGovernance/191876) is happy
- [ ] Make sure there is nothing targeting this release that still needs to be validated
(`is:issue sort:updated-desc milestone:"<milestone>" label:verification-needed -label:verified`)

## Release

- [ ] Publish the release
- [ ] Verify the PR Pipeline on Github actions is green against the release branch.
- [ ] Manually run the [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) against the `release/release-YYYY.MM.100` branch
- [ ] Approve the `Publish` stage
- [ ] Check if the release was automatically published here, https://github.com/microsoft/vscode-jupyter/releases - If not, publish manually: (This has been required since the move to az pipelines)
- [ ] Add a new release at https://github.com/microsoft/vscode-jupyter/releases
- Tag is version number
- Branch is release branch
- Copy contents of release branch changelog into the release (just copy the markdown)
- [ ] Publish
- [ ] Determine if a hotfix is needed
- [ ] Ensure the version in package.json is updated as follows:
* If released version is `YYYY.MM.100`, then hot fix will be `YYYY.MM.110`
* If released version is `YYYY.MM.110`, then hot fix will be `YYYY.MM.120`

# Day of VS Code publishing (Wednesday, XXX XX)
- [ ] Go through [`info needed` issues](https://github.com/Microsoft/vscode-jupyter/issues?q=is%3Aopen+sort%3Aupdated-asc+label%3Ainfo-needed) and close any that have no activity for over a month (🤖)
- [ ] GDPR bookkeeping (🤖)
- [ ] Verify the PR Pipeline on Github actions is green against the release branch.
- [ ] Manually run the [Stable pipeline](https://dev.azure.com/monacotools/Monaco/_build?definitionId=284) against the `release/release-YYYY.MM.100` branch
- [ ] Approve the `Publish` stage
- [ ] Check if the release was automatically published here, https://github.com/microsoft/vscode-jupyter/releases - If not, publish manually: (This has been required since the move to az pipelines)
- [ ] Add a new release at https://github.com/microsoft/vscode-jupyter/releases
- Tag is version number
- Branch is release branch
- [ ] Publish
- [ ] 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

# Day of VS Code releasing the next insider version (Wednesday, XXX XX)
- [ ] Bump the engines.vscode version on the `main` branch to point to the next insider version. For example, from `1.58.0-insider` to `1.59.0-insider`
# Day of VS Code releasing the next insider version (Wednesday)
- [ ] Bump the engines.vscode version on the `main` branch to point to the next insider version. For example, from `1.58.0` to `1.59.0-insider`

## Prep for the _next_ release

Expand All @@ -112,3 +56,10 @@
* Add the labels `endgame-plan` to this issue
* Pin this issue
- [ ] [(Un-)pin](https://help.github.com/en/articles/pinning-an-issue-to-your-repository) [release plan issues](https://github.com/Microsoft/vscode-jupyter/labels/release-plan) (🤖)

# As needed

- [ ] Determine if a hotfix is needed
- [ ] Ensure the version in package.json is updated as follows:
* If released version is `YYYY.MM.100`, then hot fix will be `YYYY.MM.110`
* If released version is `YYYY.MM.110`, then hot fix will be `YYYY.MM.120`
1 change: 0 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ images/**/*.gif
images/**/*.png
ipywidgets/**
i18n/**
news/**
node_modules/**
obj/**
logs/**
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## Deprecated

This changelog is deprecated. Here is where you can find details about the latest updates to this extension:
- Highlighted features for the latest release are described in the VS Code release notes, under the "Contributions to extensions" section: https://code.visualstudio.com/updates
- All issues and code changes can be found by searching our Github repo under the latest milestone. [Example from November 2022](https://github.com/microsoft/vscode-jupyter/issues?q=is%3Aclosed+milestone%3A%22November+2022%22+)

## 2022.10.110 (2 November 2022)

### Enhancements
Expand Down
9 changes: 0 additions & 9 deletions news/.vscode/settings.json

This file was deleted.

2 changes: 0 additions & 2 deletions news/1 Enhancements/README.md

This file was deleted.

1 change: 0 additions & 1 deletion news/2 Fixes/README.md

This file was deleted.

1 change: 0 additions & 1 deletion news/3 Code Health/11761.md

This file was deleted.

1 change: 0 additions & 1 deletion news/3 Code Health/README.md

This file was deleted.

62 changes: 0 additions & 62 deletions news/README.md

This file was deleted.

6 changes: 0 additions & 6 deletions news/__main__.py

This file was deleted.

Loading

0 comments on commit d8b45d7

Please sign in to comment.