@@ -18,29 +18,47 @@ jobs:
1818 matrix :
1919 platform :
2020 - os : ubuntu-22.04
21+ type : native
22+ artifact : ubuntu-x64
2123 cc : gcc
2224 cxx : g++
2325 shell : sh
2426 - os : ubuntu-22.04-arm
27+ type : native
28+ artifact : ubuntu-arm
29+ cc : gcc
30+ cxx : g++
31+ shell : sh
32+ - os : ubuntu-latest
33+ type : container
34+ artifact : alpine-x64
35+ container : alpine:3.21
2536 cc : gcc
2637 cxx : g++
2738 shell : sh
2839 - os : macos-15-intel
40+ type : native
41+ artifact : macos-x64
2942 cc : clang
3043 cxx : clang++
3144 shell : sh
3245 - os : macos-15
46+ type : native
47+ artifact : macos-arm
3348 cc : clang
3449 cxx : clang++
3550 shell : sh
3651 - os : windows-latest
52+ type : native
53+ artifact : windows-x64
3754 shell : pwsh
3855
3956 defaults :
4057 run :
4158 shell : ${{ matrix.platform.shell }}
4259
4360 runs-on : ${{ matrix.platform.os }}
61+ container : ${{ matrix.platform.container }}
4462
4563 # Building the ARM64 Docker image on QEMU takes forever
4664 timeout-minutes : 60
@@ -49,18 +67,24 @@ jobs:
4967 CC : ${{ matrix.platform.cc }}
5068 CXX : ${{ matrix.platform.cxx }}
5169 steps :
70+ - name : Install dependencies (Alpine)
71+ if : matrix.platform.type == 'container'
72+ run : apk add --no-cache cmake make g++ zsh bash jq pipx git
73+
5274 - name : Install pre-commit
5375 run : pipx install pre-commit
5476
5577 - uses : actions/checkout@v4
78+ - run : git config --global --add safe.directory "$GITHUB_WORKSPACE"
79+ if : matrix.platform.type == 'container'
5680 - name : Install dependencies (macOS)
5781 if : runner.os == 'macos'
5882 run : brew bundle
5983 env :
6084 HOMEBREW_NO_ANALYTICS : 1
6185 HOMEBREW_NO_AUTO_UPDATE : 1
6286 - name : Install dependencies (Linux)
63- if : runner.os == 'linux'
87+ if : runner.os == 'linux' && matrix.platform.type == 'native'
6488 run : sudo apt-get update --yes && sudo apt-get install --yes zsh
6589
6690 - run : cmake --version
@@ -103,7 +127,7 @@ jobs:
103127
104128 - uses : actions/upload-artifact@v4
105129 with :
106- name : artifacts- ${{ matrix.platform.os }}
130+ name : ${{ matrix.platform.artifact }}
107131 path : build/out/*.zip
108132 retention-days : 1
109133
0 commit comments