Add monthly gh-aw upgrade check to catch version staleness - #14939
Closed
AR-May wants to merge 2 commits into
Closed
Add monthly gh-aw upgrade check to catch version staleness#14939AR-May wants to merge 2 commits into
AR-May wants to merge 2 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <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.
Problem
The agentic workflows have been broken three times recently by a stale
gh-awversion: #14842, #14870 and #14935. The failure is quiet — it happens in theactivationjob, so the agent step is skipped and no issues or quarantine PRs are created.gh-awships a minor release every one to two weeks. Every compiled.lock.ymlembeds the version that produced it, and at run time the activation job compares that version against thegh-awcompatibility policy:minRecommendedVersionminimumVersionblockedVersionsNothing in this repository moves the version forward, so it drifts until it crosses a failing threshold and someone notices a red run.
This is about to matter more, not less: #14938 restores the Dependabot ignore rule for
github/gh-aw-actions/*, which is correct — those pins are compiler-managed and must not be bumped in isolation — but it also means Dependabot will no longer nudge the version at all.Fix
Enable the check that
gh-awprovides for exactly this purpose, via.github/workflows/aw.json:{ "auto_upgrade": { "cron": "23 5 1 * *" } }gh aw compilethen generates.github/workflows/agentic-auto-upgrade.yml.What the workflow does
Despite the generated name, it does not upgrade the repository. On each run it:
gh aw upgradeagainst a checkout inside the runner..github/aw/actions-lock.json.agentic-workflows. Any previous open auto-upgrade issue is closed first, so at most one is ever outstanding.It never pushes a branch and never opens a PR —
permissions: contents: readmeans it structurally cannot. Applying the upgrade stays a deliberate step: a kitten runsgh aw upgrade --create-pull-requestlocally, which raises the PR under their own account and therefore gets a full CI run. A PR opened byGITHUB_TOKENwould not trigger workflows, which is the wrong property for a change that regenerates CI workflow files.Why monthly rather than weekly
The default schedule is weekly. Monthly is a better fit here:
23 5 1 * *is the 1st of each month at 05:23 UTC, early enough in the month not to collide with end-of-month release checklist work.Verified against the current repository state: running
gh aw upgradetoday leaves.github/aw/actions-lock.jsonunchanged, so the workflow correctly reports nothing and stays silent while the repository is current.What this adds
.github/workflows/aw.json— the opt-in config.auto_upgradedefaults tofalse, which is why nothing existed before..github/workflows/agentic-auto-upgrade.yml— generated, do not edit by hand..github/aw/actions-lock.json— gains thegithub/gh-aw-actions/setup-cli@v0.88.2SHA pin used by the new workflow.No existing
.lock.ymlfile changes. Compiled withgh-aw v0.88.2, the same version the current lock files were built with, and the result is idempotent across repeated runs.Risk
Low. The generated workflow does not run an agent:
actions/github-scriptrunning gh-aw's own script; no LLM engine and no inference cost.GITHUB_TOKEN; no new secrets.permissions: contents: read, issues: write.workflow_dispatchis available for a manual run.The worst case is one redundant issue per month; the current worst case is silently broken agentic workflows.