Skip to content

Commit d276fbc

Browse files
EliahKaganclaude
andcommitted
Add submodules: recursive temporarily, for testing
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 91e6f96 commit d276fbc

3 files changed

Lines changed: 9 additions & 0 deletions

File tree

.github/workflows/alpine-test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ jobs:
2929
- uses: actions/checkout@v6
3030
with:
3131
fetch-depth: 0
32+
# Temporary, for testing. The standing decision is to NOT pre-clone
33+
# submodules on CI; see https://github.com/gitpython-developers/GitPython/pull/1715
34+
submodules: recursive
3235

3336
- name: Set workspace ownership
3437
run: |

.github/workflows/cygwin-test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ jobs:
3939
uses: actions/checkout@v6
4040
with:
4141
fetch-depth: 0
42+
# Temporary, for testing. The standing decision is to NOT pre-clone
43+
# submodules on CI; see https://github.com/gitpython-developers/GitPython/pull/1715
44+
submodules: recursive
4245

4346
- &install-cygwin
4447
name: Install Cygwin

.github/workflows/pythonpackage.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ jobs:
5353
- uses: actions/checkout@v6
5454
with:
5555
fetch-depth: 0
56+
# Temporary, for testing. The standing decision is to NOT pre-clone
57+
# submodules on CI; see https://github.com/gitpython-developers/GitPython/pull/1715
58+
submodules: recursive
5659

5760
- name: Set up Python ${{ matrix.python-version }}
5861
uses: actions/setup-python@v6

0 commit comments

Comments
 (0)