Skip to content

Add agentic workflow to update DefaultVersions.props#16993

Open
ViktorHofer wants to merge 2 commits into
mainfrom
dependabot-default-versions
Open

Add agentic workflow to update DefaultVersions.props#16993
ViktorHofer wants to merge 2 commits into
mainfrom
dependabot-default-versions

Conversation

@ViktorHofer

Copy link
Copy Markdown
Member

Implements the proposal in #16992.

Adds a GitHub Agentic Workflow (gh-aw) — the repository's first — that runs weekly and acts like a "dependabot on steroids" for the toolset version properties defined in the Arcade SDK's DefaultVersions.props. Regular dependabot cannot update these because they are SDK-provided MSBuild properties rather than PackageReference/PackageVersion items.

What the workflow does

  1. Parses the package ID from each version property using the repo's naming convention (PackageId with dots removed + Version), validating candidates against the feeds and skipping anything it cannot confidently resolve or that is an MSBuild reference like $(ArcadeSdkVersion).
  2. Checks nuget.org and every feed configured in NuGet.config for newer versions (prereleases allowed).
  3. If a newer version exists on nuget.org but not on dotnet-public, it still makes the change and adds a mirroring-request table to the PR body per MirroringPackages.md (the PR build will fail until mirrored — expected).
  4. Updates the same version anywhere else in the repo (e.g. Directory.Packages.props, docs).
  5. Honors section comments with special instructions — notably the xunit block per update-xunit.md.

It opens a single consolidated PR per run. The agent job is read-only; all writes go through the create-pull-request safe output, and a human reviews/approves every PR.

Files

  • .github/workflows/update-default-versions.md — the workflow
  • .github/workflows/update-default-versions.lock.yml — compiled output
  • .github/aw/actions-lock.json — SHA-pinned actions lockfile (generated)
  • .gitattributes — marks *.lock.yml as generated

Adds a gh-aw scheduled (weekly) agentic workflow that mimics dependabot for the
toolset version properties in the Arcade SDK's DefaultVersions.props, which
regular dependabot cannot update. It checks nuget.org and the configured NuGet
feeds (prereleases allowed), updates matching versions elsewhere in the repo,
requests package mirroring when needed, and honors xunit special instructions.

Fixes #16992

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 9, 2026 09:21
@ViktorHofer ViktorHofer requested a review from Evangelink June 9, 2026 09:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the repository’s first GitHub Agentic Workflow (gh-aw) to periodically update the Arcade SDK’s DefaultVersions.props-backed toolset version properties by scanning nuget.org and configured feeds and opening a consolidated PR with bumps.

Changes:

  • Introduces an agent prompt workflow definition for updating DefaultVersions.props (and matching versions across the repo).
  • Adds the compiled gh-aw lock workflow YAML and an actions SHA lockfile.
  • Marks *.lock.yml workflows as generated in .gitattributes (and sets merge behavior).
Show a summary per file
File Description
.github/workflows/update-default-versions.md gh-aw source workflow prompt and rules for resolving package IDs and version selection.
.github/workflows/update-default-versions.lock.yml Compiled GitHub Actions workflow that runs the agent and creates PRs via Safe Outputs.
.github/aw/actions-lock.json Generated action SHA lock entries for gh-aw compilation/runtime.
.gitattributes Marks compiled *.lock.yml as generated and configures merge behavior.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 3

Comment thread .github/workflows/update-default-versions.lock.yml
Comment thread .github/workflows/update-default-versions.lock.yml
Comment thread .gitattributes Outdated
@ViktorHofer ViktorHofer requested review from akoeplinger and premun June 9, 2026 09:25
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 9, 2026 09:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 2

Comment thread .github/workflows/update-default-versions.lock.yml
Comment thread .github/workflows/update-default-versions.lock.yml
@ViktorHofer ViktorHofer enabled auto-merge (squash) June 9, 2026 18:09
| `Microsoft.Signed.Wix` | `MicrosoftSignedWixVersion` |
| `Microsoft.WixToolset.Sdk` | `MicrosoftWixToolsetSdkVersion` |
| `Microsoft.ManifestTool.CrossPlatform` | `MicrosoftManifestToolCrossPlatformVersion` |
| `Microsoft.VisualStudio.Eng.MicroBuild.Core` | `MicrosoftVisualStudioEngMicroBuildCoreVersion` |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the wix and microbuild packages aren't available on nuget, they're internal packages. we shouldn't update them via this workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants