@@ -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