From cf81c6c98155c24d69af6f1a8eca368ad1a5d962 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sun, 26 May 2024 16:40:23 -0400 Subject: [PATCH 1/2] Momentarily downgrade Git on Cygwin to investigate failures Using this older version is not in general secure, since the new version is a security update. It is sometimes acceptable to run software with security bugs in CI workflows, but the intent of this change is just to check if the version of the Cygwin `git` package is the cause of the failures. If so, they can probably be fixed or worked around in a better way than downgrading. (Furthermore, the lower version of the `git` package will not always be avaialable from Cygwin's repositories.) --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 61e6a3089..a2fe588ad 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39=3.9.16-1 python39-pip python39-virtualenv git + packages: python39=3.9.16-1 python39-pip python39-virtualenv git=2.43.0-1 - name: Arrange for verbose output run: | From eb06a18d83eda0ae04e2a00b2d656da147e9188a Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sun, 26 May 2024 16:45:57 -0400 Subject: [PATCH 2/2] Unpin Cygwin `git`; add our `.git` as a `safe.directory` This undoes the change of pinning Git to an earlier version (before the recent security update) on Cygwin, and instead adds the `.git` subdirectory of the `GitPython` directory as an additional value of the multi-valued `safe.directory` Git configuration variable. --- .github/workflows/cygwin-test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index a2fe588ad..bde4ea659 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39=3.9.16-1 python39-pip python39-virtualenv git=2.43.0-1 + packages: python39=3.9.16-1 python39-pip python39-virtualenv git - name: Arrange for verbose output run: | @@ -40,6 +40,7 @@ jobs: - name: Special configuration for Cygwin git run: | git config --global --add safe.directory "$(pwd)" + git config --global --add safe.directory "$(pwd)/.git" git config --global core.autocrlf false - name: Prepare this repo for tests