tests/functional: isolate git tests from host signing config#15094
Merged
Ericson2314 merged 1 commit intoNixOS:masterfrom Jan 27, 2026
Merged
tests/functional: isolate git tests from host signing config#15094Ericson2314 merged 1 commit intoNixOS:masterfrom
Ericson2314 merged 1 commit intoNixOS:masterfrom
Conversation
5193f58 to
9dfa62c
Compare
Member
|
Instead of trying to cancel out specific settings, what if we define |
9dfa62c to
2c35a5f
Compare
Member
Author
Yeah that's actually better. We'd still need the env variables for setting |
Currently, tests fail when the host system has `commit.gpgsign` or `tag.gpgsign` enabled at the system level (in my case, a custom path located at `/etc/git/config`), since the signing key is unavailable in the test sandbox. The tests set `HOME=$TEST_HOME` to isolate themselves, which bypasses the user-level git config (`~/.gitconfig`). However, if a user sets the system-level config via `GIT_CONFIG_GLOBAL` or `GIT_CONFIG_SYSTEM`, it still applies, causing commits to fail when signing is enabled there. In this PR, I explicitly set `GIT_CONFIG_GLOBAL` and `GIT_CONFIG_SYSTEM` to `/dev/null` so that the user's system config is never read from or written to. I've also replaced `git config --global protocol.file.allow always` with `GIT_CONFIG_*` environment variables to avoid writing to `/dev/null`.
2c35a5f to
ac9682c
Compare
Ericson2314
approved these changes
Jan 27, 2026
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.
Motivation
Currently, tests fail when the host system has
commit.gpgsignortag.gpgsignenabled at the system level (in my case, a custom path located at/etc/git/config), since the signing key is unavailable in the test sandbox.Context
The tests set
HOME=$TEST_HOMEto isolate themselves, which bypasses the user-level git config (~/.gitconfig). However, if a user sets the system-level config viaGIT_CONFIG_GLOBALorGIT_CONFIG_SYSTEM, it still applies, causing commits to fail when signing is enabled there.In this PR, I explicitly set
GIT_CONFIG_GLOBALandGIT_CONFIG_SYSTEMto/dev/nullso that the user's system config is never read from or written to. I've also replacedgit config --global protocol.file.allow alwayswithGIT_CONFIG_*environment variables to avoid writing to/dev/null.Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.