-
Notifications
You must be signed in to change notification settings - Fork 2.5k
(Re-)introduce release builds with Azure Pipelines #2176
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
Allow a caller of pack.sh and layout.sh to specify the location of the payload and symbols. Signed-off-by: Matthew John Cheetham <[email protected]>
Translate the layout.sh and pack.sh Bash scripts to PowerShell scripts. We are now building the .NET tool NuGet packages on Windows. Signed-off-by: Matthew John Cheetham <[email protected]>
Signed-off-by: Matthew John Cheetham <[email protected]>
Apply linter recommendations to the codesign.sh script used on macOS. Also always pass the absolute path of the entitlements file to the codesign command as using relative paths can sometimes fail. Signed-off-by: Matthew John Cheetham <[email protected]>
Add specific Windows pool information for SDL source tasks. These tasks only run on Windows. Signed-off-by: Matthew John Cheetham <[email protected]>
Signed-off-by: Matthew John Cheetham <[email protected]>
Add Windows release build definitions on Azure Pipelines. Signed-off-by: Matthew John Cheetham <[email protected]>
Add macOS release build definitions on Azure Pipelines. Signed-off-by: Matthew John Cheetham <[email protected]>
Add Linux release build definitions on Azure Pipelines. Signed-off-by: Matthew John Cheetham <[email protected]>
Add a release pipeline for the .NET Tool using Azure Pipelines. Signed-off-by: Matthew John Cheetham <[email protected]>
Add a new stage (after build) to publish the assets to GitHub and NuGet.org. Each target (GitHub and NuGet.org) need to run in separate jobs due to restrictions of the 1ES pipeline templates: - Publishing a NuGet package requires us to use template `outputs` - `type: releaseJob` cannot specify outputs - `type: releaseJob` is required to use the `GitHubRelease` task Signed-off-by: Matthew John Cheetham <[email protected]>
Remove the GitHub Actions-based release workflow files. We are using Azure Pipelines instead now. Signed-off-by: Matthew John Cheetham <[email protected]>
Default enable ESRP code signing, as well as publishing to GitHub and NuGet.org. Signed-off-by: Matthew John Cheetham <[email protected]>
|
For Microsoft employees, here's a link to the test release build showcasing this pipeline: |
dscho
left a comment
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.
Wow, what a bunch of work. Looks good to me, and I cannot wait to finally release a GCM version after that long of a hiatus!
ridgunn
left a comment
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.
Looks good to me
Since stewardship of the project has transitioned back to Microsoft from GitHub, we're moving the official release builds from GitHub Actions to Azure Pipelines. This is mainly a requirement to enable Microsoft code-signing of executables, packages, etc.
The release pipeline will also publish a GitHub release and the .NET Tool packages to NuGet.org.
The GitHub Actions release workflow is no longer in use (it also required access to approve releases from internal GitHub code-signing systems, which we no longer have access to).