Skip to content

Commit 4977f90

Browse files
committed
Document release process
1 parent b20f9b4 commit 4977f90

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

docs/development.md

+41-1
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,44 @@ code --extensionDevelopmentPath="c:\path\to\vscode-powershell" .
5353

5454
## Contributing Snippets
5555

56-
For more information on contributing snippets please read our [snippet requirements](https://github.com/PowerShell/vscode-powershell/blob/master/docs/community_snippets.md#contributing).
56+
For more information on contributing snippets please read our
57+
[snippet requirements](https://github.com/PowerShell/vscode-powershell/blob/master/docs/community_snippets.md#contributing).
58+
59+
## Creating a Release
60+
61+
These are the current steps for creating a release for both the editor services
62+
and the extension. ADO access is restricted to Microsoft employees and is used
63+
to sign and validate the produced binaries before publishing on behalf of
64+
Microsoft. The comments are manual steps.
65+
66+
```powershell
67+
Import-Module ./tools/ReleaseTools.psm1
68+
Update-Changelog -RepositoryName PowerShellEditorServices -Version <version>
69+
Update-Changelog -RepositoryName vscode-powershell -Version <version>
70+
# Amend changelog as necessary
71+
Update-Version -RepositoryName PowerShellEditorServices
72+
Update-Version -RepositoryName vscode-powershell
73+
# Push branches to GitHub and ADO
74+
# Open PRs for review
75+
# Download and test assets (assert correct PSES is included)
76+
# Rename VSIX correctly
77+
New-DraftRelease -RepositoryName PowerShellEditorServices
78+
New-DraftRelease -RepositoryName vscode-powershell
79+
# Point releases to branches for automatic tagging
80+
# Upload PowerShellEditorServices.zip (for other extensions)
81+
# Upload VSIX and Install-VSCode.ps1
82+
# Publish draft releases and merge (don't squash!) branches
83+
vsce publish --packagePath ./PowerShell-<version>.vsix
84+
# Update Install-VSCode.ps1 on gallery
85+
Publish-Script -Path ./Install-VSCode.ps1 -NuGetApiKey (Get-Secret "PowerShell Gallery API Key" -AsPlainText)
86+
```
87+
88+
### Pending Improvements
89+
90+
* `Update-Changelog` should verify the version is in the correct format
91+
* `Update-Changelog` could be faster by not downloading _every_ PR
92+
* `Update-Changelog` should use exactly two emoji and in the right order
93+
* `Update-Version` could be run by `Update-Changelog`
94+
* `New-DraftRelease` could automatically set the tag pointers and upload the binaries
95+
* The build should emit an appropriately named VSIX instead of us manually renaming it
96+
* A `Publish-Binaries` function could be written to push the binaries out

0 commit comments

Comments
 (0)