Skip to content

Commit b0814df

Browse files
committed
[TASK] Run CI containers with docker
GitHub hosted runners ship both podman and docker. Since 2026-07-29 their podman/crun combination intermittently aborts the first container start of a job with "OCI runtime error: crun: unknown version specified" (exit code 126), independent of the job, the core version or the PHP version. Neither the runner image nor the TYPO3 testing image changed, and a rerun on another host clears it. runTests.sh prefers podman whenever it is present and only falls back to docker. That default is correct for the script and is kept, since podman-only machines are exactly what it is built for. GitHub hosted runners are the single place these workflows meet the broken combination, so the override belongs in the workflows: every "runTests.sh" call passes "-b docker" now, with the reasoning noted in the workflow header so the flag can be dropped knowingly later.
1 parent 9724b52 commit b0814df

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
name: CI
22

3+
# Every "runTests.sh" call below passes "-b docker". The script prefers podman
4+
# whenever it is present and only falls back to docker, which is the right
5+
# default for it -- but GitHub hosted runners ship both, and since 2026-07-29
6+
# their podman/crun combination aborts the first container start of a job with
7+
# "OCI runtime error: crun: unknown version specified" (exit code 126). It is
8+
# intermittent, hits any job, and was traced to neither the runner image nor
9+
# the TYPO3 testing image changing. Selecting docker here avoids crun entirely
10+
# and leaves the script default and local runs untouched. Drop the flag once
11+
# GitHub stops producing the mismatch.
12+
313
on:
414
push:
515
pull_request:
@@ -21,18 +31,18 @@ jobs:
2131
ref: ${{ github.event_name == 'workflow_dispatch' && github.head_ref || '' }}
2232

2333
- name: Composer install
24-
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s composerUpdate
34+
run: Build/Scripts/runTests.sh -b docker -p ${{ matrix.php }} -s composerUpdate
2535

2636
- name: CGL
2737
if: ${{ matrix.php <= '8.3' }}
28-
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s cgl -n
38+
run: Build/Scripts/runTests.sh -b docker -p ${{ matrix.php }} -s cgl -n
2939

3040
- name: Lint PHP
31-
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s lint
41+
run: Build/Scripts/runTests.sh -b docker -p ${{ matrix.php }} -s lint
3242

3343
- name: Phpstan
3444
if: ${{ matrix.php <= '8.3' }}
35-
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s phpstan
45+
run: Build/Scripts/runTests.sh -b docker -p ${{ matrix.php }} -s phpstan
3646

3747
- name: Unit Tests
38-
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s unit
48+
run: Build/Scripts/runTests.sh -b docker -p ${{ matrix.php }} -s unit

0 commit comments

Comments
 (0)