|
13 | 13 | - [Configuring Razor Language Server](#configuring-razor-language-server)
|
14 | 14 | - [Creating VSIX Packages for the Extension](#creating-vsix-packages-for-the-extension)
|
15 | 15 | - [Updating the `Roslyn` Language Server Version](#updating-the-roslyn-language-server-version)
|
| 16 | +- [Snapping for releases](#snapping-for-releases) |
16 | 17 |
|
17 | 18 | ## Setting Up Local Development Environment
|
18 | 19 |
|
@@ -167,3 +168,22 @@ To update the version of the roslyn server used by the extension do the followin
|
167 | 168 | 3. In the [package.json](package.json) inside the `defaults` section update the `roslyn` key to point to the version number you found above in step 2.
|
168 | 169 | 4. Ensure that version of the package is in the proper feeds by running `gulp updateRoslynVersion`. Note: you may need to install the [Azure Artifacts NuGet Credential Provider](https://github.com/microsoft/artifacts-credprovider#installation-on-windows) to run interactive authentication.
|
169 | 170 | 5. Build and test the change. If everything looks good, submit a PR.
|
| 171 | + |
| 172 | +## Snapping for releases |
| 173 | +Extension releases on the marketplace are done from the prerelease and release branches (corresponding to the prerelease or release version of the extension). Code flows from main -> prerelease -> release. Every week we snap main -> prerelease. Monthly, we snap prerelease -> release. |
| 174 | + |
| 175 | +The snap is done via the "Branch snap" github action. To run the snap from main -> prerelease, run the action via "Run workflow" and choose main as the base branch. |
| 176 | + |
| 177 | + |
| 178 | +This will generate two PRs that must be merged. One merging the main branch into prerelease, and the other bumps the version in main. |
| 179 | + |
| 180 | + |
| 181 | +To snap from prerelease to main, run the same action but use **prerelease** as the workflow branch. This will generate a single PR merging from prerelease to release. |
| 182 | + |
| 183 | +### Marketplace release |
| 184 | +The marketplace release is managed by an internal AzDo pipeline. On the pipeline page, hit run pipeline. This will bring up the pipeline parameters to fill out: |
| 185 | +1. The branch will **always** be main, no matter if release a build from prerelease or release. |
| 186 | +2. Uncheck the "test" option. |
| 187 | +3. In "Resources", choose "dotnet-vscode-csharp [officialBuildCI]", then check only the build that should be released, and then confirm with "Use selected run". Based on the selected build, it will automatically determine if it is prerelease or release.  |
| 188 | +4. The pipeline parameters should then look something like the following image. Hit "Run".  |
| 189 | +5. After a bit, the pipeline will request approval from an authorized approver before it actually uploads to the marketplace. Hit approve and it will continue. |
0 commit comments