smoke tests fail under host gitconfig with commit.gpgsign=true #40

Open
opened 2026-05-23 20:55:25 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-14T03:08:07Z - https://github.com/coilysiren/repo-recall/issues/130

Repro

coily exec test on a clean checkout of main (commit 423ea46 at time of filing) fails:

worktree_snapshot_drops_stat_stale_modifications - git ["commit", "-q", "-m", "add tracked.txt"] failed: error: gpg failed to sign the data
git_log_parses_commits - same gpg failure

Both tests build throwaway repos in tempdirs and invoke git commit without overriding commit.gpgsign. Local user gitconfig has commit.gpgsign = true so the test commit gets routed through gpg, which then can't find the right signing key (and shouldn't be involved at all in a throwaway test repo).

Fix

Pass -c commit.gpgsign=false -c tag.gpgsign=false to the test's git commit invocations, or write a per-test .git/config that disables signing. This isolates tests from the host's signing posture.

Why this matters

Blocks make test / coily exec test for anyone running with a gpg-signing global gitconfig - which is the documented coilysiren/* posture (see coilyco-vault/Notes/git-pull-verification.md). CI passes because the runner gitconfig has no signing key configured.

Found while running test as part of the rate-limit GraphQL fix (#129).

_Originally filed by @coilysiren on 2026-05-14T03:08:07Z - [https://github.com/coilysiren/repo-recall/issues/130](https://github.com/coilysiren/repo-recall/issues/130)_ ## Repro `coily exec test` on a clean checkout of main (commit 423ea46 at time of filing) fails: ``` worktree_snapshot_drops_stat_stale_modifications - git ["commit", "-q", "-m", "add tracked.txt"] failed: error: gpg failed to sign the data git_log_parses_commits - same gpg failure ``` Both tests build throwaway repos in tempdirs and invoke `git commit` without overriding `commit.gpgsign`. Local user gitconfig has `commit.gpgsign = true` so the test commit gets routed through gpg, which then can't find the right signing key (and shouldn't be involved at all in a throwaway test repo). ## Fix Pass `-c commit.gpgsign=false -c tag.gpgsign=false` to the test's `git commit` invocations, or write a per-test `.git/config` that disables signing. This isolates tests from the host's signing posture. ## Why this matters Blocks `make test` / `coily exec test` for anyone running with a gpg-signing global gitconfig - which is the documented coilysiren/* posture (see coilyco-vault/Notes/git-pull-verification.md). CI passes because the runner gitconfig has no signing key configured. Found while running test as part of the rate-limit GraphQL fix (#129).
coilysiren added
P2
and removed
P1
labels 2026-05-31 07:01:13 +00:00
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/repo-recall#40
No description provided.