Run Cygwin CI workflow commands in login shells · EliahKagan/GitPython@e8956e5 (original) (raw)

Original file line number Diff line number Diff line change
@@ -10,30 +10,36 @@ jobs:
10 10 fail-fast: false
11 11
12 12 env:
13 -CHERE_INVOKING: 1
14 -TMP: "/tmp"
15 -TEMP: "/tmp"
13 +CHERE_INVOKING: "1"
14 +CYGWIN_NOWINPATH: "1"
16 15
17 16 defaults:
18 17 run:
19 -shell: C:\cygwin\bin\bash.exe --noprofile --norc -exo pipefail -o igncr "{0}"
18 +shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}"
20 19
21 20 steps:
22 21 - name: Force LF line endings
23 22 run: |
24 23 git config --global core.autocrlf false # Affects the non-Cygwin git.
25 - shell: bash
24 + shell: bash # Use Git Bash instead of Cygwin Bash for this step.
26 25
27 26 - uses: actions/checkout@v4
28 27 with:
29 28 fetch-depth: 0
30 29 submodules: recursive
31 30
32 - - uses: cygwin/cygwin-install-action@v4
31 + - name: Install Cygwin
32 +uses: cygwin/cygwin-install-action@v4
33 33 with:
34 34 packages: python39 python39-pip python39-virtualenv git
35 +add-to-path: false # No need to change $PATH outside the Cygwin environment.
35 36
36 - - name: Special configuration for Cygwin's git
37 + - name: Arrange for verbose output
38 +run: |
39 + # Arrange for verbose output but without shell environment setup details.
40 + echo 'set -x' >~/.bash_profile
41 +
42 + - name: Special configuration for Cygwin git
37 43 run: |
38 44 git config --global --add safe.directory "$(pwd)"
39 45 git config --global core.autocrlf false
@@ -57,7 +63,7 @@ jobs:
57 63
58 64 - name: Install project and test dependencies
59 65 run: |
60 - python -m pip install ".[test]"
66 + pip install ".[test]"
61 67
62 68 - name: Show version and platform information
63 69 run: |
@@ -71,4 +77,4 @@ jobs:
71 77
72 78 - name: Test with pytest
73 79 run: |
74 - python -m pytest --color=yes -p no:sugar --instafail -vv
80 + pytest --color=yes -p no:sugar --instafail -vv