-
Notifications
You must be signed in to change notification settings - Fork 512
Pipeline-ify entire release process #3461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0f30118
to
a5fec77
Compare
0e40843
to
b9eaa15
Compare
This will let us use the pipeline trigger because we can set the default branch for manual/scheduled/pipeline-triggered builds to `release` (but cannot set it to a variable branch, like `release/vX.Y.Z`).
This installs the necessary modules and authenticates using a given GitHub token so that the Azure pipelines can use our `ReleaseTools` module to publish to GitHub.
This CI has to test the extension, not the daily build. We shouldn't conflate the two.
d5fadc7
to
a4f1d55
Compare
This uses a new function `Use-Repository` that executes the given script with the given repository as the current working directory, replacing all the previously side effect driven logic, or at least, making it more explicit. This was frankly easier than dealing with the Azure Pipeline that clones the repository under a different name (specifically `s` if its the only repo, that is, it's not named `vscode-powershell` in the release stage, so the module broke).
Restoration of modules including PowerShellEditorServices was made automatic upon invocation of the `Build` task. This replaced complicated logic in the package task to restore PSES in CI.
Mostly we moved the Rich Code Navigation Indexer task.
a4f1d55
to
77d9c2f
Compare
rjmholt
approved these changes
Jul 28, 2021
This now uses a repository resource or the triggering pipeline artifact to provide the PowerShellEditorServices sources (or bits). Coupled with the change to the build script, this means the template can be used to build for CI or for a release. We also moved to zipped pipeline artifacts as build artifacts have been deprecated, but we need to reduce the cost of the stored artifacts themselves. These are provided for developers to test and for the release pipeline to use.
f126a12
to
4e0c957
Compare
This sets up the Azure DevOps release pipeline to not only build, test, and sign the bits for a release (and to do so using signed PowerShellEditorServices bits), but to automatically create the GitHub draft release where it directly uploads the artifacts. After manual approval, it will automatically publish the extension and installation script to their respective registries (the Visual Studio Code marketplace and the PowerShell Gallery). Best of all, this process is kicked off automatically after a successful release build of PowerShellEditorServices.
4e0c957
to
35704b8
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #2286 🥳