@@ -53,4 +53,44 @@ code --extensionDevelopmentPath="c:\path\to\vscode-powershell" .
53
53
54
54
## Contributing Snippets
55
55
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