Skip to content

ci(deps): sync action versions to templates - #21

Open
github-actions[bot] wants to merge 9 commits into
mainfrom
auto/sync-action-versions-20260324132120
Open

ci(deps): sync action versions to templates#21
github-actions[bot] wants to merge 9 commits into
mainfrom
auto/sync-action-versions-20260324132120

Conversation

@github-actions

Copy link
Copy Markdown

Automated PR to sync GitHub Action versions from .github/workflows/ to templates/.

This ensures templates stay in sync with Dependabot updates.

Updated versions:

  • actions/checkout: v6
  • actions/github-script: v8
  • actions/upload-artifact: v7
  • actions/download-artifact: v8
  • actions/cache: v5

iamkayleb and others added 9 commits March 3, 2026 03:12
The summary job's "Ensure consolidated summary comment" step crashes with
ENOENT when gate-summary.md doesn't exist. This happens because consumer
repos lack tools/post_ci_summary.py (not synced), so the "Prepare summary
body" step fails, the compose step aborts on empty body, and
gate-summary.md is never created — but the comment step runs anyway due
to if: always().

Two fixes:
1. Add fs.existsSync guard before reading gate-summary.md so the step
   skips gracefully instead of crashing (both main and template)
2. Add post_ci_summary.py, ci_failure_triage.py, and __init__.py to the
   sync manifest and consumer template so the root cause is resolved

https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5
…t-D9Be2

Fix Gate summary job ENOENT crash in consumer repos
…t-68

The sync workflow fails on every run because REPO_TOKEN is empty when
neither OWNER_PR_PAT nor SERVICE_BOT_PAT secrets are configured. This
causes `gh repo clone` to exit with code 4 (auth required).

- Add `github.token` as final fallback so clone/read operations succeed
- Add explicit "Verify cross-repo token" step that fails early with a
  clear error message when no PAT is available for PR creation
- This prevents all 11 matrix jobs from failing with the same cryptic
  "set GH_TOKEN environment variable" error

https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5
…t-D9Be2

fix(sync): add github.token fallback to prevent auth failures in main…
Automated sync from .github/workflows/ to templates/

Updated versions:
- actions/checkout: v6
- actions/github-script: v8
- actions/upload-artifact: v7
- actions/download-artifact: v8
- actions/cache: v5
iamkayleb pushed a commit that referenced this pull request Aug 22, 2026
…ke#2956)

* feat(fleet): issue-format guard synced to every consumer repo

Every automated lane reaches an issue through a LABEL. An issue filed with no
label and no Tasks/Acceptance block is therefore invisible to the whole
pipeline: nothing validates it, nothing optimises it, nothing claims it. Local
automation that files *findings* rather than *work orders* produces exactly that
— good evidence, permanently unactionable.

Observed in Fine-Art-Archive stranske#406-409: four well-evidenced audit findings from a
local audit script, zero labels between them, no Tasks section. That repo
already had agents-issue-optimizer.yml with a `format` phase — but it triggers on
`issues: [labeled]`, so an unlabelled issue never reached the very machinery
built to fix it.

Adds, and registers in .github/sync-manifest.yml so all 13 consumer repos
receive them:

  * .github/scripts/issue_format.py — the single fleet definition of
    "agent-processable", mirroring docs/AGENT_ISSUE_FORMAT.md rather than
    inventing a parallel standard: Tasks and Acceptance Criteria required;
    Why/Scope/Non-Goals recommended; at least one acceptance criterion must name
    a real test, runnable command or observable verification gate. Also flags
    Tasks without checkboxes and the guide's banned subjective adjectives.
    Pure stdlib on purpose so it runs on a bare runner with no install step, and
    so local filers can pre-flight with
    `python .github/scripts/issue_format.py <body>` before `gh issue create`
    (non-zero exit = unfit).

  * templates/consumer-repo/.github/workflows/agents-issue-format-guard.yml —
    validates on opened/edited/reopened and, on failure, applies `agents:format`,
    the label the optimizer already listens for. So a bad issue is ROUTED to the
    repairer rather than merely flagged; the label is cleared once the body
    conforms. Skips `agents:formatted` so it never fights the optimizer's own
    edits, fingerprints its comment by body hash so an edit burst cannot spam a
    thread, skips cleanly if the validator has not synced yet, and tolerates a
    repo whose label set predates `agents:format`.

Verified: manifest compiles (219 copy entries), validate_template_completeness
passes --strict, actions/checkout SHA-pinned to match the template convention,
and the validator rejects all four real stranske#406-409 bodies while accepting a
conforming one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(fleet): exempt tracking-only issues from the format guard

Running the guard across a real repo's whole open-issue list surfaced the gap:
6 of 10 issues legitimately are NOT work orders and never will be —
- #21/#22/#23 blocked epics whose bodies say 'do not dispatch'
- #36/stranske#114 self-described tracking issues
- #80 Renovate's Dependency Dashboard
Nagging those forever trains people to ignore the guard, which costs more than
it catches. So the guard now skips an issue when any of:
  * label tracker:durable or wontfix
  * a bot author (Renovate, Dependabot, any *[bot]*)
  * a body declaring 'do not dispatch' / 'not a repo|cloud coding task'

Requires author in the gh issue view field set. All downstream steps honour the
exemption, so an exempt issue is neither commented on nor labelled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(autofix): formatting/lint

* fix: restore issue format guard source and routing

* fix: regenerate renovate ownership for issue-format guard paths

CI failed because sync-manifest added issue_format.py and
agents-issue-format-guard.yml without refreshing the generated
consumer-managed-paths preset.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Codex Automation <codex-automation@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants