- 
                Notifications
    You must be signed in to change notification settings 
- Fork 125
Release
        Andrew Scott edited this page Oct 28, 2022 
        ·
        39 revisions
      
    This repository contains two releasable items:
- 
@angular/language-server NPM package
 This is the LSP server integrated into other clients like vim, emacs, Eclipse, etc.
- 
Angular.ng-templatevscode extension
 This is published to the Visual Studio Marketplace.
- Determine the next version (X.Y.Z) and the appropriate git branch.
 If publishing a patch version, checkout the patch branch, otherwise checkout themainbranch.
- Set a releaseVersionvariable so you can more easily copy-paste commands:releaseVersion=X.Y.Z 
- Update versioninpackage.jsontoreleaseVersion.
- Update versionserver/package.jsontoreleaseVersion.
- Update the version in [version.bzl] toreleaseVersion.
- Manually update the version of @angular/language-service in package.jsonandserver/package.jsonto the latest. The version in both files must be the same.
- Look at the CHANGELOG in @angular/angularfor commits related to language service, and copy them to this repo's CHANGELOG.
- Append notable commits in this repository, particularly fixes and features, to the CHANGELOG
git log --pretty=format:'%s (%h)' vX.Y.Z-1..HEAD
- Update yarn.lockandnode_modulesto use the version of@angular/language-servicespecified in previous step.rm -rf node_modules server/node_modules yarn install 
- Build the NPM package and vscode extension
./scripts/build.sh package.json 
- Do a quick check to make sure everything works as expected.
- Install the .vsixthrough either vscode or runcode --install-extension bazel-bin/npm/ng-template-${releaseVersion}.vsix
- Open the test project in vscode
- Execute a few operations such as go to definition, hover, check semantics, and auto-complete.
 
- Install the 
- Check out a release branch, commit the changes:
Create a PR, get approval, wait for CI to be green, then merge the PR into upstream.git checkout -b ${releaseVersion}-release git commit -am "release: v${releaseVersion}" git push <your remote> 
- Check out the release branch again, tag the release, and push to upstream
git checkout - git tag v${releaseVersion} git push upstream --tags
- Make sure you're logged into Angular NPM account. If not, run the following command:
npm login --registry https://wombat-dressing-room.appspot.com --no-browser 
- Release @angular/language-servernpm publish bazel-bin/npm/server --access public 
- Make sure you're logged into Azure DevOps account. If not, follow the instructions below.
- Release vscode extension from the root of the repository.
yarn vsce publish --packagePath bazel-bin/npm/ng-template-${releaseVersion}.vsix
- Update release notes in github.
- Go to the Releases section
- Navigate to the release that was published in the previous step.
- Click edit release
- Copy the text added to the CHANGELOG
- Upload the .vsixfile.
- Click Update Release
 
- [optional] Read the overall instructions in vscode's documentation
- To obtain the security token, go to go/valentine.
- Search for Angular vscode marketplace
- Copy the Personal Access Token (PAT)
- Run yarn vsce login Angular
- Paste the PAT