Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo root

Geschlossen Anfängerfreundlich
#17,523 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

  • #17787 von @Mnigos — ohne Merge geschlossen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
git, typescript, vite
Bereich
testing

Rechercherichtung

Die Korrektur ist eine Konfigurationsänderung: Das vite.config.ts im Wurzelverzeichnis enthält in setupFiles nicht apps/server/src/testUtils/gitConfig.setup.ts, das apps/server/vite.config.ts bereits lädt. Vergleiche zuerst die beiden setupFiles-Arrays. Reproduziere dann das Problem, indem du apps/server/src/git/GitManager.test.ts aus dem Repo-Wurzelverzeichnis ausführst, wobei GIT_CONFIG_GLOBAL auf eine Konfiguration zeigt, die commit.gpgsign=true setzt. Fertig ist es, wenn die Suite ohne gpg-Aufrufe durchläuft und andere Suites unverändert weiterhin laufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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
  1. Set commit.gpgsign = true in ~/.gitconfig (any GPG or SSH signer; mine is a YubiKey through gpg-agent).
  2. 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.

Vorherrschende Sprache
TypeScript
Sterne
24.8k
Forks
6.4k
Ø Merge
8 Std. 4 Min.
Gemergte PRs (30 T.)
199

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus pingdotgg/t3code

Alle Issues in pingdotgg/t3code

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.