Skip to content

Release

Andrew Scott edited this page Feb 5, 2021 · 39 revisions

This repository contains two releasable items:

  1. @angular/language-server NPM package
    This is the LSP server integrated into other clients like vim, emacs, Eclipse, etc.
  2. Angular.ng-template vscode extension
    This is published to the Visual Studio Marketplace.

Release Steps

  1. Determine the next version (X.Y.Z) and the appropriate git branch.
    If publishing a patch version, checkout the patch branch, otherwise checkout the master branch.
  2. Update version in package.json.
  3. Update version server/package.json
  4. Optional: set a releaseVersion variable so you can more easily copy-paste commands:
    releaseVersion=X.Y.Z
  5. Update @angular/language-service to the latest version. Its version in package.json and server/package.json must be the same.
  6. Look at the CHANGELOG in @angular/angular for commits related to language service, and copy them to this repo's CHANGELOG.
    Append notable commits in this repository, particularly fixes and features.
  7. yarn install to update yarn.lock and make sure node_modules are up to date.
    • Note that if you have an environment variable GITHUB_TOKEN, it will conflict with the installation of vscode. If you see the error Error installing vscode.d.ts: TypeError: Cannot set property 'Authorization' of null you must unset GITHUB_TOKEN.
  8. Build the NPM package and vscode extension
    ./scripts/build.sh
  9. Do a quick check to make sure everything works as expected.
    • Install the .vsix through either vscode or run
      code --install-extension dist/npm/ng-template-${releaseVersion}.vsix
    • Open the test project in vscode
    • Execute a few operations such as go to defintion, hover, check semantics, and auto-complete.
    • Remember to try both View Engine and Ivy mode
  10. Commit the changes, tag the release, and push to upstream:
    git commit -am "release: v${releaseVersion}"
    git tag v${releaseVersion}
    git push upstream && git push upstream --tags
  11. Make sure you're logged into Angular NPM account. If not, run the following command:
    npm login --registry https://wombat-dressing-room.appspot.com
  12. Release @angular/language-server
    npm publish dist/npm/server --access public
  13. Release vscode extension from the root of the repository. See instructions if you have not signed in before.
    yarn vsce publish --packagePath dist/npm/ng-template-${releaseVersion}.vsix
  14. Update release notes in the Releases section.
  15. Upload the .vsix file.

Login to Azure DevOps

  1. [optional] Read the overall instructions in vscode's documentation
  2. To obtain the security token, go to go/valentine.
  3. Search for Angular vscode marketplace
  4. Copy the Personal Access Token (PAT)
  5. Run yarn vsce login Angular
  6. Paste the PAT
Clone this wiki locally