Skip to content

Commit fcdda29

Browse files
committed
ci: install supported Git in the normal Cygwin layout
The Cygwin full suite reached 1,372 passing tests but failed its native-Git detection check. The new source build installed Git into `/usr/local`, while GitPython's existing detector expects `uname` beside the selected Git executable. Cygwin installs `uname` in its normal `/usr/bin` directory. Install Git 2.52 under `/usr`, replacing the older packaged Git and preserving that standard layout. Verify `Git.is_cygwin()` immediately after installing Python dependencies so a setup regression fails before the long test suite. The detector and its missing-`uname` behavior remain unchanged. YAML parsing, extracted Bash syntax, ShellCheck, and `git diff --check` pass locally. The preceding Cygwin performance suite also passed all six tests; native validation of the corrected installation runs in CI.
1 parent acd9fcb commit fcdda29

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

‎.github/workflows/cygwin-test.yml‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ jobs:
5959
run: |
6060
# Cygwin's packaged Git is older than our minimum supported version.
6161
git clone --depth 1 --branch v2.52.0 -- https://github.com/git/git.git /tmp/git-source
62-
make -C /tmp/git-source -j2 prefix=/usr/local NO_GETTEXT=YesPlease NO_TCLTK=YesPlease NO_PERL=YesPlease install
62+
# Use Cygwin's normal prefix: GitPython checks for uname next to git.
63+
make -C /tmp/git-source -j2 prefix=/usr NO_GETTEXT=YesPlease NO_TCLTK=YesPlease NO_PERL=YesPlease install
6364
hash -r
6465
test "$(git version)" = 'git version 2.52.0'
6566
@@ -97,6 +98,9 @@ jobs:
9798
run: |
9899
pip install ./smmap ./gitdb '.[test]'
99100
101+
- name: Verify Cygwin Git detection
102+
run: python -c 'from git import Git; assert Git.is_cygwin()'
103+
100104
- name: Show POSIX file ownership
101105
# Cygwin's `ls -ld` reports the NTFS Owner SID via Cygwin's SID-to-uid
102106
# mapping (well-known SIDs by their RID, machine-local accounts by

0 commit comments

Comments
 (0)