-
Notifications
You must be signed in to change notification settings - Fork 234
Automate entire release process #1528
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
Conversation
c35389b
to
bfef3e8
Compare
I've temporarily restored the |
bfef3e8
to
a590493
Compare
Yay! The release it worked. @rjmholt check it: https://github.com/PowerShell/PowerShellEditorServices/releases/tag/untagged-9fb7e73f0f1ec8c30383 |
Oops, I have to fix something. |
This splits the release into three stages: build, sign, and publish. The last stage requires a manual approval on its deployment job's associated environment. When approved, it creates a draft GitHub release using our ReleaseTools module and securely uploads the artifacts directly from the build agent, thus taking developer machines out of the release process.
So we have fewer folders.
6649bc5
to
4c02284
Compare
Just double-checking those new changes didn't break the release build... |
Also move the creation of said artifacts into Azure DevOps templates themselves, instead of in the build system. Finally, download only the signed pipeline artifacts in the deployment, which by default downloads all artifacts.
It leads to bugs I cannot solve.
- Use proper `parameters` syntax - Use cleaner indentation - Add decent display names - Remove setting build name for non-PR builds - Remove unused NUnit test results
4c02284
to
85eae62
Compare
Ok, that's it! It all works. |
jobs: | ||
- job: Build | ||
pool: | ||
vmImage: vs2017-win2016 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could have sworn there was a newer one than this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is, actually. Another time.
This PR sets up the final parts necessary for the Azure DevOps release pipeline to create a (draft) GitHub Release with the built assets directly uploaded from the pipeline itself. This eliminates any developer machine touching the bits between build, sign, and release. There is a manual approval step in the deployment such that the draft release is not created until a Microsoft maintainer approves it. It also includes a few cleanups (such as moving from "build artifacts" to "pipeline artifacts"). It was tested up to the point that the GitHub API complained the release branch didn't exist, which since I wasn't testing off a release branch, was accurate.