Skip to content

ci: [REUSABLE HARNESS — DO NOT MERGE] dry-run every workflow on one branch - #89

Draft
krlmlr wants to merge 1 commit into
mainfrom
claude/ubuntu-26-arm64-gha-ezzy7y-verify
Draft

ci: [REUSABLE HARNESS — DO NOT MERGE] dry-run every workflow on one branch#89
krlmlr wants to merge 1 commit into
mainfrom
claude/ubuntu-26-arm64-gha-ezzy7y-verify

Conversation

@krlmlr

@krlmlr krlmlr commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

⚠️ DO NOT MERGE — reusable CI dry-run harness

Runs every workflow in the repo on a single push, with all side effects disabled — a safe way to watch the whole CI suite go green before merging a CI change. First built to validate the Ubuntu 26.04 / arm64 change (now merged); retargeted to main and kept as a reusable harness.

How it works

On every push to the head branch, each workflow is triggered — push events use this branch's workflow files, unlike workflow_run / schedule / pull_request_target, which always use the default branch — and every mutating step is neutralised:

Workflow Runs Side effects disabled
rcc (renamed rcc-dryrun) full matrix incl. ubuntu-26.04-arm + the rcc-suggests "without" job commit-back, all commit-status posts, pkgdown deploy (build still runs), Codecov upload, snapshot-update PR
rcc dev r-universe dev install — (read-only)
pkgdown builds the site deploy
copilot-setup installs deps
fledge install + news/ruleset checks version bump, branch force-push, PR create/merge, release
lock triggers thread-locking action
format-suggest style check reviewdog PR suggester
revdep matrix (empty → heavy job skipped; setup-r added so its Rscript runs)
pr-commands document/style/merge run with pr-fetch/pr-push/PR-create disabled; finish no-op git push-back, PR create/merge
rcc-status, commit-suggest run, then no-op (gated on workflow_run/PR context) status posts, PR comments

rcc is renamed to rcc-dryrun so the default-branch rcc-status/commit-suggest (keyed on workflows: [rcc]) can't fire and post statuses/comments.

How a future session reuses this

The only per-reuse change is the branch-name token. This branch hard-codes its own head-branch name (claude/ubuntu-26-arm64-gha-ezzy7y-verify) in every push trigger and in the rcc-suggests if.

  1. Create a verify branch from whatever you want to validate: git switch -c <NEW-VERIFY-BRANCH> <your-branch>.
  2. Apply this branch's .github/ diff — it is exactly the harness patch (everything else is already on main):
    git diff main..claude/ubuntu-26-arm64-gha-ezzy7y-verify -- .github | git apply
  3. Retoken in one shot:
    git grep -l 'claude/ubuntu-26-arm64-gha-ezzy7y-verify' -- .github | xargs sed -i 's#claude/ubuntu-26-arm64-gha-ezzy7y-verify#<NEW-VERIFY-BRANCH>#g'
  4. Commit, push <NEW-VERIFY-BRANCH>, open a draft PR. Every push re-runs the full dry-run.

Everything else (the rcc-dryrun rename, the if: false side-effect guards, the revdep setup-r + empty-matrix fix, the covr/Codecov guard) is generic and needs no change.

🤖 Generated with Claude Code

@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y-verify branch 2 times, most recently from 77462d6 to 0c4173b Compare July 22, 2026 06:22
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y-verify branch 3 times, most recently from 7d38d98 to a054070 Compare July 22, 2026 08:27
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y branch from 2cd5cbc to e8f4f09 Compare July 22, 2026 09:09
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y-verify branch from a054070 to 87b0a46 Compare July 22, 2026 09:09
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y branch from e8f4f09 to f12bbb7 Compare July 22, 2026 09:36
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y-verify branch from 87b0a46 to 5513c3e Compare July 22, 2026 09:37
@krlmlr
krlmlr changed the base branch from claude/ubuntu-26-arm64-gha-ezzy7y to main July 22, 2026 15:14
@krlmlr krlmlr changed the title ci: [DO NOT MERGE] CI verification harness for #88 (Ubuntu 26.04 + arm64) ci: [DO NOT MERGE] CI verification harness Jul 22, 2026
@krlmlr krlmlr changed the title ci: [DO NOT MERGE] CI verification harness ci: [REUSABLE HARNESS — DO NOT MERGE] dry-run every workflow on one branch Jul 22, 2026
Comprehensive dry-run harness: every workflow triggers on push to this branch
and all side effects are disabled, so the full CI suite can be seen running
green on Ubuntu 26.04 (incl. arm64) without mutating anything.

- rcc: renamed to "rcc-dryrun" so the default-branch rcc-status / commit-suggest
  (which key on workflows: [rcc]) never fire for this branch; disabled the
  commit-back, all commit-status posts and pkgdown deploy (build still runs);
  enabled the rcc-suggests "without DBI" job.
- Added push triggers for this branch to: rcc dev, pkgdown, copilot-setup,
  fledge, lock, pr-commands, commit-suggest, format-suggest, rcc-status, revdep.
- Disabled side effects: pkgdown deploy, fledge (version bump / branch push /
  PR create+merge / release), lock-threads, reviewdog suggester, snapshot-update
  PR, Codecov upload. revdep gets setup-r so its matrix step runs (empty matrix
  -> heavy check job skipped). Event-driven jobs (pr-commands, commit-suggest)
  skip cleanly on push.

DO NOT MERGE: exists only to exercise CI with no side effects.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Tw1nB3SzehmtvTjkwmc2v
@krlmlr
krlmlr force-pushed the claude/ubuntu-26-arm64-gha-ezzy7y-verify branch from 5513c3e to a754a1c Compare July 22, 2026 17:01
@krlmlr

krlmlr commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants