Skip to content

Latest commit

 

History

History
91 lines (79 loc) · 6.73 KB

File metadata and controls

91 lines (79 loc) · 6.73 KB

Prerequisites

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

Release candidate (Monday, XXX XX)

  • Announce the code freeze (not just to team but also to debugger and language server)
  • Update master for the release
    • Create a branch against master for a pull request
    • Change the version in package.json from a -dev suffix to -rc (🤖)
    • Run npm install to make sure package-lock.json is up-to-date (🤖)
    • Extension will pick up latest version of debugpy. If you need to pin to a particular version see install_debugpy.py.
    • Update languageServerVersion in package.json to point to the latest version of the Language Server.
    • Update CHANGELOG.md (🤖)
      • Run news (typically python news --final --update CHANGELOG.md | code-insiders -)
      • Copy over the "Thanks" section from the previous 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 (see team notes)
    • Update ThirdPartyNotices-Repository.txt as appropriate
    • Create a pull request against master (🤖)
    • Merge pull request into master
  • Update the release branch
    • Delete the release branch in the repo
    • Create a new release branch from master
    • (alternately, force-push the master branch to the GitHub "release" branch)
    • (if necessary) Request that the branch be set anew as "protected"
  • Update master post-release (🤖)
    • Bump the version number to the next monthly ("YYYY.M.0-dev") release in the master branch
      • package.json
      • package-lock.json
    • Create a pull request against master
    • Merge pull request into master
  • Announce the code freeze is over
  • Update Component Governance (Click on "microsoft/vscode-python" on that page)
    • Provide details for any automatically detected npm dependencies
    • Manually add any repository dependencies
  • GDPR bookkeeping (@brettcannon) (🤖; see team notes)
  • Open appropriate documentation issues
    • new features
    • settings changes
    • etc. (ask the team)
  • Schedule a bug bash
  • Begin drafting a blog post
  • Ask CTI to test the release candidate

Final (Monday, XXX XX)

Preparation

Release

  • Publish the release via Azure DevOps
    • Make sure CI is passing
    • Make sure the "Upload" stage on the release page succeeded
    • Make sure no extraneous files are being included in the .vsix file (make sure to check for hidden files)
    • Deploy the "Publish" stage
  • Create a GitHub release
    • Have tag match the released version
    • Copy the changelog entry for the release as the description
  • Publish documentation changes
  • Publish the blog post
  • Determine if a hotfix is needed
  • Merge release back into master (🤖)

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