ci: fix hosted GitHub CI (workspace can't resolve private siblings)#1
Merged
Conversation
The hosted CI job failed at the very first cargo command (reported as a "clippy" failure only because the job is named "fmt / clippy / test"). The real cause: every cargo command runs `cargo metadata` over the whole workspace first, and gp-nostr/gp-server/gp-goblin-sender have path deps into out-of-repo siblings (nip44, nym, the private goblin tree) that a hosted GitHub runner can't check out. `-p gp-core` scoping runs after metadata, so it never helped — the job could not pass as written. Add a CI-only step that drops those three members from Cargo.toml before any cargo command runs, leaving the self-contained core gate (gp-core, gp-wallet). The committed manifest is unchanged, so the deploy host (where the siblings exist) still builds the full workspace and runs the full ./ci.sh gate.
2ro
force-pushed
the
worktree-goblinpay-ci-fmt-fix
branch
from
July 5, 2026 01:44
4466f0e to
def7646
Compare
2ro
marked this pull request as ready for review
July 5, 2026 01:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was failing
The GitHub Actions job
fmt / clippy / testfailed onmain(run 28645249200). It reports as a clippy failure only because that's the job name — the step that actually fails is the first one,cargo fmt --all -- --check, which dies insidecargo metadata:Root cause
Every cargo command runs
cargo metadataover the whole workspace before any-pscoping applies. Three members have path deps into out-of-repo siblings a hosted runner can't check out:gp-nostr→nip44,nym/smolmixgp-server→nip44gp-goblin-sender→ the privategoblintree (git.us-ea.st)So
-p gp-corenever took effect and the job could not pass as written — fmt, clippy, and test would all fail identically at metadata resolution.Fix
A CI-only step drops those three members from
Cargo.tomlbefore any cargo command, leaving the self-contained core gate (gp-core,gp-wallet). The committed manifest is unchanged, so:./ci.shgate.cargo build -p gp-server(deploy) is untouched.Verification
Simulated a bare runner in a sibling-free checkout (same command order as CI):
cargo fmt --all -- --check→ cleancargo clippy -p gp-core --all-targets -- -D warnings→ no warningscargo test -p gp-core --locked→ 62 passed, 0 failed🤖 Generated with Claude Code