Skip to content

2018.12.0 release plan #3512

@brettcannon

Description

@brettcannon

Beta (Monday the week prior to release)

  • 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
    • Run news (typically python news | code-insiders -)
    • Touch up news entries (and corresponding news entry files)
    • Copy over the "Thanks" section from the previous release
  • Update ThirdPartyNotices-Distribution.txt
    • Run tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)
    • Register any Python changes with OSPO
  • Update ThirdPartyNotices-Repository.txt and register any changes with OSPO
  • Open pull request
  • Open appropriate documentation issues

Release candidate (Monday before release)

  • Ensure all new features are tracked via telemetry
  • 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
    • Update version and date for the release section
    • Run news (typically python news --final | code-insiders -; the --final flag is on purpose as no more changes are expected)
    • Touch up news entries (and corresponding news entry files)
    • Check that the "Thanks" section is up-to-date
  • Update ThirdPartyNotices-Distribution.txt
    • Run tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)
    • Register any Python changes with OSPO
  • Update ThirdPartyNotices-Repository.txt and register any changes with OSPO
  • 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
  • Open appropriate documentation issues
  • Begin drafting a blog post

Final (near a VS Code release)

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 (typically python news --final | code-insiders -)
    • Check that the "Thanks" section is up-to-date
  • Update ThirdPartyNotices-Distribution.txt
    • Run tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)
    • Register any Python changes with OSPO
  • Update ThirdPartyNotices-Repository.txt and register any changes with OSPO
  • Merge pull request into release

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 (if necessary; no cherry-picks in release means no need to merge)

Prep for the next release

Clean up after this release

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions