Skip to content

Latest commit

 

History

History
74 lines (62 loc) · 6.55 KB

File metadata and controls

74 lines (62 loc) · 6.55 KB

All dates should align with VS Code's iteration and endgame plans.

Feature freeze (Monday @ 17:00 America/Vancouver, XXX XX)

  • 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, XXX XX)

  • Update main for the release
    • Change the version in package.json to the next even number (🤖)
    • Run npm install to make sure package-lock.json is up-to-date (🤖)
    • Check pypi.org and update the version of debugpy in install_debugpy.py if necessary.
    • Update languageServerVersion in package.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 (typically python 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
    • 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
  • Create the release branch
    • If there are release branches that are two versions old (e.g. release-2020.[minor - 2]) you can delete them at this time
    • Create a new release/YYYY.minor branch from main
  • Update main post-release (🤖)
    • Bump the minor version number to the next ("YYYY.[minor+1]") release in the main branch to an odd number (🤖)
      • package.json
      • package-lock.json
    • Create a pull request against main
    • Merge pull request into main
  • 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
  • Open appropriate documentation issues
  • Begin drafting a blog post. Contact the PM team for this.

Release (Wednesday, XXX XX)

Preparation

Release

  • Make sure CI is passing (🤖)
  • 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
  • Run the CD pipeline
  • 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