Skip to content

Latest commit

 

History

History
68 lines (59 loc) · 5.36 KB

File metadata and controls

68 lines (59 loc) · 5.36 KB

Release candidate (Tuesday, XXX XX)

  • Ensure all new features are tracked via telemetry
  • Announce the code freeze (not just to team but also to ptvsd and language server)
  • Create a branch against master for a pull request
  • Update the version in package.json
  • Run npm install to make sure package-lock.json is up-to-date
  • Update CHANGELOG.md
    • Create a new section for this release
    • Copy over the "Thanks" section from the previous release and make sure it's up-to-date
    • Run news (typically python news --final | code-insiders -)
    • Touch up news entries
    • Add any relevant news entries for ptvsd and the language server if they were updated
  • Update ThirdPartyNotices-Distribution.txt by running tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)
  • Update ThirdPartyNotices-Repository.txt as appropriate
  • Create a pull request against master
  • Merge pull request into master
  • Delete the release branch in the repo
  • Create a new release branch from master
  • Bump the version number to the next release in the master branch
    • package.json
    • package-lock.json
  • Announce the code freeze is over
  • Update Component Governance
    • Provide details for any automatically detected npm dependencies
    • Manually add any repository dependencies
  • GDPR bookkeeping
  • Open appropriate documentation issues
  • Begin drafting a blog post
  • Ask CTI to test the release candidate

Final (Tuesday, XXX XX)

Preparation

  • Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
  • Create a branch against release for a pull request
  • Update the version in package.json
  • Run npm install to make sure package-lock.json is up-to-date (the only update should be the version number if package-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 (typically python news --final | code-insiders -; quite possibly nothing new to add)
  • Update ThirdPartyNotices-Distribution.txt by running tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt; quite possible there will be no change)
  • Update ThirdPartyNotices-Repository.txt manually if necessary
  • Create pull request against release
  • Merge pull request into release
  • Make sure component governance is happy

Release

  • Make sure CI is passing
  • Generate the final .vsix file
  • Make sure no extraneous files are being included in the .vsix file (make sure to check for hidden files)
  • Upload the final .vsix file to the marketplace
  • Publish documentation changes
  • Publish the blog post
  • Create a release on GitHub (which creates an appropriate git tag)
  • Determine if a hotfix is needed
  • Merge release back into master

Prep for the next release

Clean up after this release

  • Go through info needed issues and close any that have no activity for over a month
  • GDPR bookkeeping