Skip to content

docs: Add RCC smoke test fix workflow documentation#2613

Merged
krlmlr merged 5 commits intomainfrom
claude/github-smoke-test-mcp-iTv8T
Apr 13, 2026
Merged

docs: Add RCC smoke test fix workflow documentation#2613
krlmlr merged 5 commits intomainfrom
claude/github-smoke-test-mcp-iTv8T

Conversation

@krlmlr
Copy link
Copy Markdown
Contributor

@krlmlr krlmlr commented Apr 13, 2026

Description

This PR adds comprehensive documentation for a scheduled workflow that automatically detects and fixes failures in the rcc (smoke test) commit status across development branches in krlmlr/rigraph.

The documentation outlines a multi-step process to:

  1. Scan all *-dev branches for the earliest commit with a failing rcc status since 2026-04-11
  2. Create broken-<sha>-dev fix branches for failures without existing fixes
  3. Fix test failures and R CMD check issues while preserving vendored C sources
  4. Cherry-pick subsequent commits from the original branch to maintain continuity
  5. Push the fixed branches back to the remote

Key Features

  • Structured workflow: Clear step-by-step instructions with bash commands
  • Safety constraints: Hard rules preventing modification of vendored code and enforcing proper git practices
  • Fix priority order: Guidance on where to apply fixes (patches → glue code → R code → snapshots → tests)
  • Conflict handling: Instructions for resolving cherry-pick conflicts while respecting vendored code boundaries
  • Validation: Final R CMD check verification before pushing

Test Plan

N/A — This is documentation only. No code changes or automated tests are involved.


  • By submitting this pull request, I assign the copyright of my contribution to The igraph development team.

https://claude.ai/code/session_01NMbDS1CNtybJEqfuzHgR3E

claude and others added 5 commits April 12, 2026 18:19
Adds .claude/skills/rcc-smoke-fix.md — a slash-command skill (/rcc-smoke-fix)
that implements the scheduled job:

- Adds/refreshes a `krlmlr` remote (force-fetch, prune) to avoid stale cache
- Batch-collects all *-dev remote-tracking branches + existing broken-* branches
  in a single git branch -r pass (no extra API calls)
- For each *-dev branch (including broken-*-dev), iterates commits oldest-first
  since 2026-04-11 and checks the `rcc` commit-status context via gh api,
  stopping at the first `failure` and skipping if a broken-<branch>-<sha7>
  branch already exists
- Creates the fix branch at the failing commit, fixes testthat::test_local()
  and R CMD check . (snapshots, R code, roxygen), commits the fix, then
  cherry-picks all remaining vendor commits from the *-dev branch
- Pushes to krlmlr/rigraph with --force-with-lease

https://claude.ai/code/session_01NMbDS1CNtybJEqfuzHgR3E
…ame)

Branch name is broken-<sha7>-dev rather than broken-<branch>-<sha7>
because the SHA already uniquely identifies the commit.

https://claude.ai/code/session_01NMbDS1CNtybJEqfuzHgR3E
- Branch naming: broken-<sha40>-dev (full SHA, not sha7)
- patch/ is allowed to be modified (sometimes necessary for C API changes)
- Fix priority: patch/ > glue/Stimulus > R/ > snapshots > tests (last resort)
- Update constraints section accordingly

https://claude.ai/code/session_01NMbDS1CNtybJEqfuzHgR3E
Two bugs fixed in the skill:

1. Skip-on-existing-fix moved outside the status loop.
   Previously the break on finding a broken-*-dev branch fired *inside* the
   commit iteration, so a later already-fixed commit could short-circuit
   before reaching an earlier failure with no fix branch yet. Now we scan all
   commits for the true earliest failure first, then check existence.

2. Cherry-pick section updated for mixed vendor+fix commits.
   The *-dev branch may contain non-vendor fix commits alongside vendor
   commits (e.g. a glue-code repair pushed directly to the branch). These
   must be cherry-picked verbatim. Conflicts on non-vendor files are expected
   and must be resolved, not skipped. A final R CMD check after all
   cherry-picks is now required.

https://claude.ai/code/session_01NMbDS1CNtybJEqfuzHgR3E
@krlmlr krlmlr changed the title Add RCC smoke test fix workflow documentation docs: Add RCC smoke test fix workflow documentation Apr 13, 2026
@krlmlr krlmlr merged commit 7acaf4a into main Apr 13, 2026
2 of 3 checks passed
@krlmlr krlmlr deleted the claude/github-smoke-test-mcp-iTv8T branch April 13, 2026 05:39
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.

2 participants