Skip to content

fix(ci): --no-worktree on release-smoke archon-assist invocations#1357

Merged
Wirasm merged 1 commit intodevfrom
fix/release-ci-smoke-no-worktree
Apr 22, 2026
Merged

fix(ci): --no-worktree on release-smoke archon-assist invocations#1357
Wirasm merged 1 commit intodevfrom
fix/release-ci-smoke-no-worktree

Conversation

@Wirasm
Copy link
Copy Markdown
Collaborator

@Wirasm Wirasm commented Apr 22, 2026

Summary

v0.3.8's release CI failed deterministically on this step:

Smoke-test Claude binary-path resolver (negative case) — expected "Claude Code not found" in output; got "Failed to fetch base branch from origin: Cannot detect default branch ... neither origin/HEAD nor origin/main exist" instead.

The test creates a fresh git init tempdir with no origin remote and runs archon workflow run archon-assist "hello". As of #1310's worktree-policy changes, default isolation auto-syncs the worktree with origin before creation; with no origin, that sync fails — before the Claude resolver is even reached — so the assertion never matches and the whole linux-x64 build aborts (fail-fast kills the other matrix entries).

Change

Add --no-worktree to both invocations (negative + positive cases). The tests exercise the Claude resolver / subprocess-spawn path, not worktree setup, so skipping isolation is the right answer. This short-circuits validateAndResolveIsolation and never touches origin. Matches the documented usage pattern in CLAUDE.md:

archon workflow run quick-fix --no-worktree "Fix typo"

Not this PR

  • Binaries themselves are fine. The v0.3.7 Pi-lazy-load regression (fix(providers/pi): lazy-load Pi SDK to unbreak compiled archon binary #1355) is fixed on dev; local bun build --compile --minify produces a working binary; the repo's new Step 1.5 pre-flight smoke passes with --help. The only thing broken was the CI assertion, not what it asserts against.
  • Not reusing the v0.3.8 tag. v0.3.8's GitHub Release has been deleted (releases/latest falls back to v0.3.6); next release will be v0.3.9 with this fix applied.

Test plan

  • CI green on bun run validate (no source changes, should be trivial)
  • v0.3.9 release workflow gets past both resolver smoke tests

Summary by CodeRabbit

  • Chores
    • Updated internal GitHub Actions workflow configuration for testing procedures.

The two "Smoke-test Claude binary-path resolver" steps in
.github/workflows/release.yml run `archon workflow run archon-assist
"hello"` against a fresh `git init` temp repo with no origin. As of
#1310's worktree-policy changes, default isolation auto-syncs the
worktree with origin before creating it, which fails with
"neither origin/HEAD nor origin/main exist" — hit before Claude's
resolver is even reached, so the test assertions ("Claude Code not
found", "CLAUDE_BIN_PATH") never match and the linux-x64 build
aborts the whole release matrix.

The tests exercise the Claude resolver path, not worktree setup, so
--no-worktree is the correct fix: it short-circuits
validateAndResolveIsolation and skips the origin sync entirely.
Matches the documented usage in CLAUDE.md
(`archon workflow run quick-fix --no-worktree "Fix typo"`).

Surfaced while cutting v0.3.8 — the release CI failed deterministically
on both builds. Binaries themselves are fine (the v0.3.7 Pi-lazy-load
fix works; local pre-flight passed on --help). v0.3.8's GitHub Release
has been deleted so `releases/latest` falls back to v0.3.6; next
release will be v0.3.9 with this fix.
@Wirasm Wirasm merged commit 876abb1 into dev Apr 22, 2026
3 of 4 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5f9d7368-f088-473e-8a16-fecc6c00cfd7

📥 Commits

Reviewing files that changed from the base of the PR and between 8697508 and b228a8b.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

📝 Walkthrough

Walkthrough

The GitHub Actions release workflow has been updated to add the --no-worktree flag to both smoke-test invocations of the archon-assist workflow run. The negative case test modified to include this flag with unset CLAUDE_BIN_PATH, and the positive case test also now includes this flag with CLAUDE_BIN_PATH explicitly set.

Changes

Cohort / File(s) Summary
Release Workflow Smoke Tests
.github/workflows/release.yml
Added --no-worktree flag to both "Smoke-test Claude binary-path resolver (negative case)" and "Smoke-test Claude subprocess spawn (positive case)" archon-assist workflow run invocations.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 A flag so small, yet oh so fine,
--no-worktree makes tests align,
With whiskers twitched and tests pristine,
The cleanest workflow ever seen!
Hop along to release day! 🚀

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-ci-smoke-no-worktree

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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