Skip to content

Conversation

@mjcheetham
Copy link
Contributor

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).

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]>
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]>
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]>
@mjcheetham mjcheetham requested a review from a team as a code owner November 13, 2025 14:06
@mjcheetham mjcheetham added the engineering Refactoring or build changes label Nov 13, 2025
@mjcheetham mjcheetham requested a review from a team November 13, 2025 14:09
@mjcheetham
Copy link
Contributor Author

For Microsoft employees, here's a link to the test release build showcasing this pipeline:
https://dev.azure.com/mseng/1ES/_build/results?buildId=30708065

Copy link
Contributor

@dscho dscho left a 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!

Copy link
Contributor

@ridgunn ridgunn left a 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

@mjcheetham mjcheetham merged commit e34cfc2 into main Nov 13, 2025
9 checks passed
@mjcheetham mjcheetham deleted the esrp2 branch November 13, 2025 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engineering Refactoring or build changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants