Skip to content

Commit 4615312

Browse files
committed
ci: add windows, linux arm, and macos jobs to the test matrix
Same platform coverage as SmartString: PHP 8.1-8.5 stays on ubuntu x64, plus one PHP 8.1 job each on windows x64, linux arm64, macos arm64, and macos intel. No windows arm job: php.net ships no arm64 windows builds.
1 parent f508c4a commit 4615312

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

.github/workflows/tests.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,26 @@ on:
1515

1616
jobs:
1717
test:
18-
name: PHP ${{ matrix.php }}
19-
runs-on: ubuntu-latest
18+
name: PHP ${{ matrix.php }} on ${{ matrix.os }}
19+
runs-on: ${{ matrix.os }}
2020

2121
strategy:
2222
fail-fast: false
2323
matrix:
24+
os: [ubuntu-latest]
2425
php: ${{ inputs.php && fromJSON(format('["{0}"]', inputs.php)) || fromJSON('["8.1","8.2","8.3","8.4","8.5"]') }}
26+
include:
27+
# OS/arch bugs (paths, case-insensitive filenames, char signedness in
28+
# extensions) don't vary by PHP version, so one job per platform at the
29+
# 8.1 floor. No Windows ARM job: php.net ships no ARM64 Windows builds.
30+
- { os: windows-latest, php: '8.1' } # Windows x64 - CMSB production
31+
- { os: ubuntu-24.04-arm, php: '8.1' } # Linux arm64 - Graviton-class hosts
32+
- { os: macos-latest, php: '8.1' } # macOS arm64 - Apple Silicon devs
33+
- { os: macos-15-intel, php: '8.1' } # macOS x64 - Intel Macs; drop after a quiet stretch
34+
35+
defaults:
36+
run:
37+
shell: bash
2538

2639
steps:
2740
- name: Checkout

0 commit comments

Comments
 (0)