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 29)
- 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 06)
- Update
main
for the release- Change the version in
package.json
from a-dev
suffix to-rc
(🤖) - Run
npm install
to make surepackage-lock.json
is up-to-date (🤖) - Check
pypi.org
and update the version ofdebugpy
ininstall_debugpy.py
. - Update
languageServerVersion
inpackage.json
to point to the latest version of the Language Server. Check with the language server team if this needs updating. - Update
CHANGELOG.md
(🤖)- Run
news
(typicallypython news --final --update CHANGELOG.md | code-insiders -
) - 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
) - Touch up news entries (e.g. add missing periods)
- Check the Markdown rendering to make sure everything looks good
- Add any relevant news entries for
debugpy
and the language server if they were updated
- Run
- Update
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) - 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. - Merge pull request into
main
- Change the version in
- Create the
release
branch- If there are
release
branches that are two versions old (e.g. release-2020.[current month - 2]) you can delete them at this time - Create a new
release/YYYY.MM
branch frommain
- If there are
- Update
main
post-release (🤖)- Bump the version number to the next monthly ("YYYY.MM.0-dev") release in the
main
branch-
package.json
-
package-lock.json
-
- Create a pull request against
main
- Merge pull request into
main
- Bump the version number to the next monthly ("YYYY.MM.0-dev") release in the
- Announce the code freeze is over on the same channels
- Update Component Governance (Notes are in the team OneNote under Python VS Code → Dev Process → Component Governance).
- Make sure there are no active alerts
- Manually add any repository/embedded/CG-incompatible dependencies
- GDPR bookkeeping (@brettcannon) (🤖; Notes in OneNote under Python VS Code → Dev Process → GDPR)
- Open appropriate documentation issues
- Begin drafting a blog post. Contact the PM team for this.
- Ask CTI to test the release candidate
Release (Wednesday, Dec 09)
Preparation
- Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
- Final updates to the
release-YYYY.MM
branch- Create a branch against
release-YYYY.MM
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
CHANGELOG.md
(🤖)- Update version and date for the release section
- Run
news
and copy-and-paste new entries (typicallypython news --final | code-insiders -
; quite possibly nothing new to add)
- Update
- Update
ThirdPartyNotices-Distribution.txt
by using https://tools.opensource.microsoft.com/notice (🤖; see team notes)- Update
ThirdPartyNotices-Repository.txt
manually if necessary - Create pull request against
release-YYYY.MM
(🤖) - Merge pull request into
release-YYYY.MM
- Update
- Create a branch against
- Make sure component governance is happy
Release
- Publish the release (🤖)
- Make sure CI is passing
- Download the artifact containing the VSIX and make sure no extraneous files are being included in the
.vsix
file (make sure to check for hidden files) - Update the Marketplace
- From a VS Code 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.
- Create a GitHub release (🤖)
- Start creating a new release
- Make the tag match the version of the released extension
- Copy the changelog entry into the release as the description
- Publish documentation changes
- Publish the blog post
- Determine if a hotfix is needed
- Merge
release-YYYY.MM
back intomain
. Don't overwrite the-dev
version in package.json. (🤖)
Clean up after this release
- Go through
info needed
issues and close any that have no activity for over a month (🤖) - GDPR bookkeeping (🤖)
Prep for the next release
- Create a new release plan (🤖)
- (Un-)pin release plan issues (🤖)