[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo root
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- git, typescript, vite
- Domain
- testing
Research direction
The fix is a config change: the root vite.config.ts setupFiles lacks apps/server/src/testUtils/gitConfig.setup.ts, which apps/server/vite.config.ts already loads. Start by comparing the two setupFiles arrays, then reproduce by running apps/server/src/git/GitManager.test.ts from the repo root with GIT_CONFIG_GLOBAL pointing at a config that sets commit.gpgsign=true. Done means the suite passes with no gpg calls, and other suites still run unchanged.
Written by the indexing model from the issue text.
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Set
commit.gpgsign = truein~/.gitconfig(any GPG or SSH signer; mine is a YubiKey through gpg-agent). - From the repo root, run a server git suite the way AGENTS.md describes:
vp test run apps/server/src/git/GitManager.test.ts
Expected behavior
Fixture repositories ignore the developer's signing config. apps/server/src/testUtils/gitConfig.setup.ts exists to pin commit.gpgsign=false and tag.gpgsign=false for exactly this reason.
Actual behavior
Every fixture commit calls gpg. With a hardware key, that's a PIN/touch prompt every few seconds for the whole run. Without a usable signer, most of the suite fails.
The setup file is only registered in apps/server/vite.config.ts (setupFiles). Running from the repo root loads the root vite.config.ts instead, and its setupFiles only contains packages/shared/src/testing/longTempDir.ts. Agents running inside T3 Code run tests from the root, so an agent running server tests on a machine with signing enabled keeps prompting the user.
Measured with GIT_CONFIG_GLOBAL pointing at a config with commit.gpgsign=true and a gpg.program that logs and exits 1:
| Tests | gpg calls | |
|---|---|---|
| root config as is | 107 failed, 13 passed | 107 |
setup file added to root setupFiles |
120 passed | 0 |
Adding ./apps/server/src/testUtils/gitConfig.setup.ts to the root setupFiles fixes it. It only sets GIT_CONFIG_* variables, so other suites are unaffected. Happy to send the 3-line PR.
Impact
Major degradation or frequent failure
Version or commit
101f8b2f55
Environment
macOS 26 (Darwin 25.6), git 2.56, GnuPG (MacGPG2) with a YubiKey
Workaround
Run from apps/server (cd apps/server && vp test run src/git/GitManager.test.ts), or export GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=commit.gpgsign GIT_CONFIG_VALUE_0=false.
- Dominant language
- TypeScript
- Stars
- 24.8k
- Forks
- 6.4k
- Avg merge
- 11h 33m
- Merged PRs (30d)
- 312
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pingdotgg/t3code
-
accepted bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
pingdotgg/t3code#18690 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
[Bug] Windows repository cloning fails while creating an existing drive rootPossibly taken @pujitha24 claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
[Bug]: iOS still shows "Failed to connect. Retrying" on every resume (follow-up to #5695)Possibly taken @otavio claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
microsoft/playwright#43327 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/TypeScript#64758 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
opensearch-project/OpenSearch-Dashboards#12937 ·
Maintainers usually reply within 2 days
-
Liveness marks block-included attesters live in the block's epoch instead of the attestation's epochOpen
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
status: needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
a2ui-project/a2ui#3158 ·
Maintainers usually reply within 2 days