forked from DonJayamanne/pythonVSCode  
 -   Notifications  You must be signed in to change notification settings 
- Fork 1.3k
Closed
Labels
Description
Prerequisites
- Python 3.7 and higher
- run python3 -m pip install --user -r news/requirements.txt
- run python3 -m pip install --user -r tpn/requirements.txt
Release candidate (Tuesday, Aug 27)
- Ensure all new features are tracked via telemetry
- Announce the code freeze (not just to team but also to ptvsd and language server)
-  Update master for the release -  Create a branch against masterfor a pull request
-  Change the version in package.jsonfrom a-devsuffix to-rc
-  Run npm installto make surepackage-lock.jsonis up-to-date
-  Update requirements.txtto point to latest release version of ptvsd.
-  Update languageServerVersioninpackage.jsonto point to the latest version (???) of the Language Server.
-  Update CHANGELOG.md-  Run news(typicallypython 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.json)
- Touch up news entries (e.g. add missing periods)
- Add any relevant news entries for ptvsd and the language server if they were updated
 
-  Run 
-  Update ThirdPartyNotices-Distribution.txtby runningtpn(typicallypython tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)- for each failure: - go to the repo (from link on NPM page) and look for the license there
- copy the text from the failure into tpn/distribution.toml
- fill in the license found in the package's repo
 
- if there is no license in a package's repo then do one of the following: - check the NPM metadata and fill in the corresponding license from the OSI site
- ask the package maintainer (e.g. via github)
- ask CELA
 
 
- for each failure: 
-  Update ThirdPartyNotices-Repository.txtas appropriate
-  Create a pull request against master
-  Merge pull request into master
 
-  Create a branch against 
-  Update the releasebranch- (if necessary) Request from a repo admin that the branch be un-"protected"
-  Delete the releasebranch in the repo
-  Create a new releasebranch frommaster
- (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 masterbranch-  package.json
-  package-lock.json
 
-  
-  Create a pull request against master
-  Merge pull request into master
 
-  Bump the version number to the next monthly ("YYYY.M.0-dev") release in the 
- 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)
-  Open appropriate documentation issues - new features
- settings changes
- etc. (ask the team)
 
- Begin drafting a blog post
- Ask CTI to test the release candidate
Final (Tuesday, Sep 03)
Preparation
- Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
-  final updates to the releasebranch-  Create a branch against releasefor a pull request
-  Update the version in package.json
-  Run npm installto make surepackage-lock.jsonis up-to-date (the only update should be the version number ifpackage-lock.jsonhas been kept up-to-date)
-  Update CHANGELOG.md- Update version and date for the release section
-  Run newsand copy-and-paste new entries (typicallypython news --final | code-insiders -; quite possibly nothing new to add)
 
-  Update ThirdPartyNotices-Distribution.txtby runningtpn(typicallypython 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.txtmanually if necessary
-  Create pull request against release
-  Merge pull request into release
 
-  Create a branch against 
- Make sure component governance is happy
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 .vsixfile (make sure to check for hidden files)
- Deploy the "Publish" stage
 
- Publish documentation changes
- Publish the blog post
- Determine if a hotfix is needed
-  Merge releaseback intomaster
Clean up after this release
-  Go through info neededissues 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