feat(workflows): recompile tests/safe-outputs fixtures on each ado-aw release#863
Merged
Merged
Conversation
… release Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Adds a new gh-aw agentic workflow at
.github/workflows/recompile-safe-output-fixtures.mdthat automatically recompiles everytests/safe-outputs/*.lock.ymlfixture against the latest releasedado-awbinary and opens one PR with the diff.Motivation: each release bumps the embedded
versionfield in the# ado-aw-metadata: { … }marker (and may change other compiled output) at the top of every fixture lock file. Without an automation, those bumps have to be propagated by hand after every release, and the daily smoke pipelines run against a stale compiler version in the meantime.Behavior
workflow_runon theReleaseworkflow (success onmainonly), plusworkflow_dispatchwith an optionalversioninput for manual reruns or backfills.workflow_rundid not succeed onmain.gh release view), normalize tovX.Y.Z.ado-aw-linux-x64+checksums.txtfrom the release with bounded retry (12 × 30s) to absorb asset-upload latency.awkcolumn match (not loosegrep); sanity-checkado-aw --versionagainst the bare version.ado-aw compile tests/safe-outputs/under strict shell mode.git status --porcelain -- tests/safe-outputs/; emitnoopif nothing changed.chore(workflows): recompile safe-output fixtures with ado-aw vX.Y.Zwith a from→to version range extracted from a sample lock file's metadata marker.safe-outputs.close-pull-requestwith prefixchore(workflows): recompile safe-output fixturesauto-closes superseded recompile PRs from older releases. A second run for the same version short-circuits vianoop.safe-outputs.create-pull-request.allowed-filesrestricts diffs totests/safe-outputs/**/*.lock.yml. The agent also aborts (report-incomplete) if compile output touches paths outside that directory.missing-datafor bad/missing version or version mismatch,report-incompletefor compile failure / assets never arriving / unexpected diff scope.Files
.github/workflows/recompile-safe-output-fixtures.md— workflow source.github/workflows/recompile-safe-output-fixtures.lock.yml— compiled output (gh-aw v0.77.5)Other modified
*.lock.ymlfiles in the working tree are unrelated drift from runninggh aw compile(no args) locally against gh-aw v0.77.5 and are intentionally not included in this PR; they belong in a separate sweep PR.Test plan
gh aw compile recompile-safe-output-fixtures— clean compile with zero warnings after addressing the three flagged by the first run:/tmp/gh-aw/agent/branches: [main]to theworkflow_runtriggerissues: readto satisfy the GitHub toolset requirementworkflow_runis a standard GH Actions trigger;safe-outputsandnetworkfields match conventions used byupdate-awf-version.md/clippy-fixer.md).