Add MSAL.NET Release Agent — automated release workflow#5997
Closed
gladjohn wants to merge 1 commit into
Closed
Conversation
- Add master AGENTS.md for MSAL.NET agent orchestration - Add Release Agent (.github/agents/release/AGENT.md) with: - 5 pre-release validation checks (signing, warnings, TSA, CG, SDL) - Pipeline variable documentation - Post-release automation flow - Known flaky test documentation - Add post-release GitHub Action (.github/workflows/post-release.yml): - Generates release report in build/release-logs/ - Moves PublicAPI.Unshipped → Shipped - Closes GitHub milestone - Creates GitHub Release from CHANGELOG.md - Notifies Teams release channel - Creates single post-release summary PR - Add build/release-logs/README.md - Add indefinite build retention via ADO retention lease Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a documented “master agent” + a Release Agent playbook and introduces a workflow_dispatch GitHub Action intended to automate MSAL.NET post-release tasks (release report + PublicAPI roll-forward, milestone closure, GitHub Release creation, Teams notification).
Changes:
- Adds repo-level and release-specific agent documentation (
AGENTS.md,.github/agents/release/AGENT.md). - Introduces
Post-Release SummaryGitHub Action to generate a release report and create a post-release PR, plus milestone/release/Teams steps. - Adds
build/release-logs/README.mddocumenting the release report log structure.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
build/release-logs/README.md |
Documents the expected structure/content of generated release reports. |
AGENTS.md |
Defines the master “agent” entrypoint and points to sub-agents. |
.github/workflows/post-release.yml |
Implements the post-release automation workflow (report, PublicAPI move, PR, milestone, release, Teams). |
.github/agents/release/AGENT.md |
Documents the intended end-to-end release flow and pre/post release steps. |
Comment on lines
+7
to
+10
| | Agent | Description | Location | | ||
| |-------|-------------|----------| | ||
| | **Release Agent** | Automates MSAL.NET NuGet releases end-to-end | [`.github/agents/release/`](.github/agents/release/) | | ||
|
|
Comment on lines
+63
to
+68
| | Variable | Value | Behavior | | ||
| |----------|-------|----------| | ||
| | `MicrosoftIdentityClientVersion` | *(user-provided)* | The version to release | | ||
| | `Release.IDDP` | `true` | Always set — publish to IDDP feed | | ||
| | `Release.NuGet` | `true` | Always set — publish to NuGet.org | | ||
|
|
Comment on lines
+244
to
+249
| # Only notify if the webhook secret is configured | ||
| if: ${{ vars.TEAMS_WEBHOOK_URL != '' || secrets.TEAMS_WEBHOOK_URL != '' }} | ||
| steps: | ||
| - name: Post to Teams | ||
| env: | ||
| TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_WEBHOOK_URL }} |
Comment on lines
+227
to
+235
| await github.rest.repos.createRelease({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| tag_name: version, | ||
| name: `MSAL.NET ${version}`, | ||
| body: body, | ||
| draft: false, | ||
| prerelease: false, | ||
| }); |
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
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.
MSAL.NET Release Agent 🤖
Introduces a master agent framework and the first sub-agent: Release Agent — automating the MSAL.NET release process end-to-end.
Problem
MSAL releases currently take ~120 minutes with ~15 manual checklist items tracked in a spreadsheet. Steps include verifying package signing, checking TSA/CG portals, publishing to NuGet, creating GitHub releases, and more.
Solution
This PR adds:
1. Master Agent (
AGENTS.md)2. Release Agent (
.github/agents/release/AGENT.md)MicrosoftIdentityClientVersion,Release.IDDP,Release.NuGet)3. Post-Release GitHub Action (
.github/workflows/post-release.yml)build/release-logs/release-{version}.mdPublicAPI.Unshipped.txt→PublicAPI.Shipped.txt4. Release Logs (
build/release-logs/README.md)Architecture
Files Changed
AGENTS.md.github/agents/release/AGENT.md.github/workflows/post-release.ymlbuild/release-logs/README.mdTarget: ~120 min → ~15 min release time
The only manual step remaining is the approval gate before NuGet publish.
Next Steps