forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
Description
All dates should align with VS Code's iteration and endgame plans.
Feature freeze (Monday @ 17:00 America/Vancouver, Nov 28)
- Announce the feature 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.
Release candidate (Monday, Dec 05)
NOTE: Third Party Notices are automatically added by our build pipelines using https://tools.opensource.microsoft.com/notice.
- Update
main
for the release- Change the version in
package.json
to the next even number and switch the-dev
to-rc
(🤖) - Run
npm install
to make surepackage-lock.json
is up-to-date, you should now see changes to thepackage.json
andpackage-lock.json
(🤖) - Check
pypi.org
and update the version ofdebugpy
ininstall_debugpy.py
if necessary. - Update
ThirdPartyNotices-Repository.txt
as appropriate. This file is manually edited so you can check with the teams if anything needs to be added here. - Get approval on PR then merge pull request into
main
- Change the version in
- Create the
release
branch- If there are release branches that are two versions old you can delete them at this time
- Create a new release/YYYY.minor branch from main
- Create a draft GitHub release for the release notes (🤖)
- Click
generate release notes
- Create a new
release/YYYY.XX
branch frommain
- Click
- Update
main
post-release (🤖)- Bump the minor version number to the next ("YYYY.[minor+1]") release in the
main
branch to an odd number and switch the-rc
to-dev
(🤖) - Run
npm install
to make surepackage-lock.json
is up-to-date, you should now see changes to thepackage.json
andpackage-lock.json
(🤖) - Create a pull request against
main
- Get approval on PR then merge pull request into
main
- Bump the minor version number to the next ("YYYY.[minor+1]") release in the
- Announce the code freeze is over on the same channels, not required if this occurs on normal release cadence
- Update Component Governance (Notes are in the team OneNote under Python VS Code → Dev Process → Component Governance).
- Check pipeline on Azure DevOps under
monacotools/Monaco/Compliance/Component Governance
- Make sure there are no active alerts
- Manually add any repository/embedded/CG-incompatible dependencies
- Check pipeline on Azure DevOps under
- Open appropriate documentation issues
- Begin drafting a blog post. Contact the PM team for this.
Release (Wednesday, Dec 07)
Preparation
- Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
- Final updates to the
release-YYYY.minor
branch- Create a branch against
release-YYYY.minor
for a pull request - Update the version in
package.json
to remove the-rc
(🤖) - Run
npm install
to make surepackage-lock.json
is up-to-date (the only update should be the version number ifpackage-lock.json
has been kept up-to-date) (🤖) - Update
ThirdPartyNotices-Repository.txt
manually if necessary - Create pull request against
release/YYYY.minor
(🤖) - Merge pull request into
release/YYYY.minor
- Create a branch against
Release
- Make sure CI is passing for Release branch (🤖).
- Run the CD pipeline on the
release/yyyy.minor
branch. - Check to ensure VS Code release has gone out before moving onto publishing the python extension
- Press the approve button if everything looks good to publish to market place.
- Create a GitHub release (🤖)
- Update the release notes
- Take the release out of draft
- Publish documentation changes
- Publish the blog post
- Determine if a hotfix is needed
- Merge the release branch back into
main
. Don't overwrite the main branch version. (🤖)
Prep for the next release
- Create a new release plan (🤖)
- (Un-)pin release plan issues (🤖)