Skip to content

Commit 586629c

Browse files
committed
ci: Replace exec-with-shell wrapper with "plain bash"
Also, promote defaults.run.shell from inside only the primary jobs to the top level. The src/ci/exec-with-shell.py wrapper script was formerly used to change out the shell mid-job by intercepting a CI_OVERRIDE_SHELL environment variable. Now, instead, we just set `bash` as the global default across all jobs, and we also delete the exec-with-shell.py script. Signed-off-by: Kristofer Rye <[email protected]>
1 parent 49f5078 commit 586629c

File tree

3 files changed

+5
-44
lines changed

3 files changed

+5
-44
lines changed

.github/workflows/ci.yml

+1-13
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ name: CI
2626
- "**"
2727
defaults:
2828
run:
29-
shell: "python src/ci/exec-with-shell.py {0}"
29+
shell: bash
3030
jobs:
3131
pr:
3232
name: PR
@@ -51,9 +51,6 @@ jobs:
5151
os: ubuntu-latest-xl
5252
timeout-minutes: 600
5353
runs-on: "${{ matrix.os }}"
54-
defaults:
55-
run:
56-
shell: bash
5754
steps:
5855
- name: disable git crlf conversion
5956
run: git config --global core.autocrlf false
@@ -153,9 +150,6 @@ jobs:
153150
env: {}
154151
timeout-minutes: 600
155152
runs-on: "${{ matrix.os }}"
156-
defaults:
157-
run:
158-
shell: bash
159153
steps:
160154
- name: disable git crlf conversion
161155
run: git config --global core.autocrlf false
@@ -473,9 +467,6 @@ jobs:
473467
os: windows-latest-xl
474468
timeout-minutes: 600
475469
runs-on: "${{ matrix.os }}"
476-
defaults:
477-
run:
478-
shell: bash
479470
steps:
480471
- name: disable git crlf conversion
481472
run: git config --global core.autocrlf false
@@ -601,9 +592,6 @@ jobs:
601592
os: macos-latest
602593
timeout-minutes: 600
603594
runs-on: "${{ matrix.os }}"
604-
defaults:
605-
run:
606-
shell: bash
607595
steps:
608596
- name: disable git crlf conversion
609597
run: git config --global core.autocrlf false

src/ci/exec-with-shell.py

-16
This file was deleted.

src/ci/github-actions/ci.yml

+4-15
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,6 @@ x--expand-yaml-anchors--remove:
7575
- &base-ci-job
7676
timeout-minutes: 600
7777
runs-on: "${{ matrix.os }}"
78-
defaults:
79-
run:
80-
shell: bash
8178
env: *shared-ci-variables
8279
steps:
8380
- name: disable git crlf conversion
@@ -233,18 +230,10 @@ on:
233230

234231
defaults:
235232
run:
236-
# While on Linux and macOS builders it just forwards the arguments to the
237-
# system bash, this wrapper allows switching from the host's bash.exe to
238-
# the one we install along with MSYS2 mid-build on Windows.
239-
#
240-
# Once the step to install MSYS2 is executed, the CI_OVERRIDE_SHELL
241-
# environment variable is set pointing to our MSYS2's bash.exe. From that
242-
# moment the host's bash.exe will not be called anymore.
243-
#
244-
# This is needed because we can't launch our own bash.exe from the host
245-
# bash.exe, as that would load two different cygwin1.dll in memory, causing
246-
# "cygwin heap mismatch" errors.
247-
shell: python src/ci/exec-with-shell.py {0}
233+
# On Linux, macOS, and Windows, use the system-provided bash as the default
234+
# shell. (This should only make a difference on Windows, where the default
235+
# shell is PowerShell.)
236+
shell: bash
248237

249238
jobs:
250239
pr:

0 commit comments

Comments
 (0)