Skip to content

fix(ci): retarget seed-corpus PR from main to develop#1103

Merged
joeharris76 merged 2 commits into
developfrom
fix/seed-corpus-pr-base
Jul 10, 2026
Merged

fix(ci): retarget seed-corpus PR from main to develop#1103
joeharris76 merged 2 commits into
developfrom
fix/seed-corpus-pr-base

Conversation

@joeharris76

@joeharris76 joeharris76 commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Problem

seed-corpus.yml opened its automated bundle PR with --base main. Two defects:

  1. Already broken today. The head it pushes is chore/seed-corpus-<date>-<run>, and validate-main-pr.yml rejects any PR into main whose head is not a vX.Y.Z release branch. Its own error message says "Open this PR against 'develop' instead."
  2. Will hard-fail after the rename. Once the admin half of chore: rename release branch main-&gt;release in-repo (w1-w4) #1027 (w5/w6 of the branch-rename runbook) renames main -> release, gh pr create --base main fails outright because main will not exist.

Deliberately left out of #1027, which was a textual rename; this is a behavior fix.

Why develop is the correct base

Not release — that branch only accepts vX.Y.Z heads. sync-results-data-to-published.yml triggers on push: branches: [develop] under results-data/bundles/**, and its header names the motivating case as "a maintainer-run seed corpus refresh from seed-corpus.yml". That is the flow this workflow was built to feed.

Changes

  • --base main -> --base develop.
  • Corrected the PR body's "Merging" section. It claimed merging triggers the docs workflow, but docs.yml's push trigger is branches: [main] only. With base develop, the merge triggers sync-results-data-to-published, which opens a draft PR onto published-results.
  • Unescaped the backticks in the PR body. The heredoc is quoted (<<'EOF'), so no expansion occurs inside it and the ``` escapes rendered as literal backslashes. Never observed because the PR creation has never succeeded.

Testing

seed-corpus.yml is workflow_dispatch-only and release-cut curates it out of the release tree, so no CI job covers this. New tests/unit/workflows/test_seed_corpus_pr_base.py pins the base to develop and encodes why by asserting the pushed head can never match the release-head regex. That regex is mirrored locally with a comment rather than parsed out of validate-main-pr.yml, so the test survives the #1027 rename.

Each test was mutation-checked: reverting the base to main, and re-escaping the backticks, each fail their guard. All 58 tests in tests/unit/workflows/ pass.

🤖 Generated with Claude Code

joeharris76 and others added 2 commits July 10, 2026 08:38
`seed-corpus.yml` opened its automated bundle PR with `--base main`. That
was already broken: the head it pushes is `chore/seed-corpus-<date>-<run>`,
and `validate-main-pr.yml` rejects any PR into `main` whose head is not a
`vX.Y.Z` release branch. It would also hard-fail outright once the
main -> release rename (PR #1027) removes the `main` branch.

`develop` is the intended base: `sync-results-data-to-published.yml`
triggers on pushes to `develop` under `results-data/bundles/**` and
documents "a maintainer-run seed corpus refresh from `seed-corpus.yml`"
as its motivating case. Correct the PR body's "Merging" section to match
that flow -- it claimed the merge triggers `docs`, which only fires on
pushes to the release branch.

The workflow is `workflow_dispatch`-only and `release-cut` curates it out
of the release tree, so no CI job covers this. Add unit tests pinning the
base to `develop` and encoding why a `chore/` head can never target the
release branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The body is built with a quoted heredoc (`<<'EOF'`), so the shell performs
no expansion inside it. The `\`` escapes were therefore not protecting
anything -- they rendered as literal backslashes in the PR body. Drop them
and add a guard test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@joeharris76
joeharris76 enabled auto-merge (squash) July 10, 2026 13:14
@joeharris76 joeharris76 changed the title fix/seed corpus pr base fix(ci): retarget seed-corpus PR from main to develop Jul 10, 2026
@joeharris76
joeharris76 merged commit 305a808 into develop Jul 10, 2026
16 checks passed
@joeharris76
joeharris76 deleted the fix/seed-corpus-pr-base branch July 10, 2026 13:34
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.

1 participant