Skip to content

Commit 02047d9

Browse files
committed
split out different Zig versions in CI to improve clarity when people raise PRs
1 parent a67f9b2 commit 02047d9

1 file changed

Lines changed: 80 additions & 36 deletions

File tree

.github/workflows/ci.yml

Lines changed: 80 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ concurrency:
1111
group: ${{ github.head_ref || github.run_id }}-${{ github.actor }}
1212
cancel-in-progress: true
1313

14+
env:
15+
CI_JAVA_VERSION: 17
16+
# 35.0.0 = Android 15
17+
CI_ANDROID_SDK: "tools platform-tools platforms;android-35 build-tools;35.0.0 ndk;29.0.13113456"
18+
1419
jobs:
15-
build:
16-
name: Build
20+
build-stable:
21+
name: Build Zig Stable
1722
strategy:
1823
matrix:
24+
max-parallel: 1
1925
include:
2026
- os: "ubuntu-latest"
2127
- os: "windows-latest"
@@ -26,29 +32,22 @@ jobs:
2632
steps:
2733
- uses: actions/checkout@v6
2834

29-
- name: Set up JDK 17
35+
- name: Set up JDK $CI_JAVA_VERSION
3036
uses: actions/setup-java@v5
3137
with:
32-
java-version: '17'
33-
distribution: 'temurin'
38+
java-version: $CI_JAVA_VERSION
39+
distribution: "temurin"
3440

3541
- name: Setup Android SDK
3642
uses: android-actions/setup-android@v3
3743
with:
38-
# 35.0.0 = Android 15
39-
packages: 'tools platform-tools platforms;android-35 build-tools;35.0.0 ndk;29.0.13113456'
40-
41-
#
42-
# Stable Zig Builds
43-
#
44+
packages: "$CI_ANDROID_SDK"
4445

45-
- name: Setup Zig Stable (0.15.2)
46+
- name: Setup Zig Stable
4647
# note(jae): 2024-09-15
4748
# Uses download mirror first as preferred by Zig Foundation
4849
# see: https://ziglang.org/news/migrate-to-self-hosting/
4950
uses: mlugg/setup-zig@v2
50-
with:
51-
version: "0.15.2"
5251

5352
- name: Build Minimal Example (Zig Stable)
5453
run: zig build -Dandroid=true --verbose
@@ -99,31 +98,33 @@ jobs:
9998
# adb shell monkey --kill-process-after-error --monitor-native-crashes --pct-touch 100 -p com.zig.sdl2 --throttle 1000 -v 2
10099
# working-directory: examples/sdl2
101100

102-
#
103-
# Previous Stable Zig Build
104-
#
105-
106-
- name: Setup Zig Previous Stable (0.14.0)
107-
uses: mlugg/setup-zig@v2
108-
with:
109-
version: "0.14.0"
110-
111-
- name: Build Minimal Example (Zig Previous Stable)
112-
run: zig build -Dandroid=true --verbose
113-
working-directory: examples/minimal
101+
build-nightly:
102+
name: Build Zig Master (Latest Dev)
103+
needs: build-stable
104+
strategy:
105+
max-parallel: 1
106+
matrix:
107+
include:
108+
- os: "ubuntu-latest"
109+
- os: "windows-latest"
110+
- os: "macos-14" # arm64 as per table: https://github.com/actions/runner-images/blob/8a1eeaf6ac70c66f675a04078d1a7222edd42008/README.md#available-images
114111

115-
- name: Build SDL2 Example (Zig Previous Stable)
116-
run: zig build -Dandroid=true --verbose
117-
working-directory: examples/sdl2
112+
runs-on: ${{matrix.os}}
113+
114+
steps:
115+
- uses: actions/checkout@v6
118116

119-
# "Raylib requires zig version 0.15.1" error occurs
120-
# - name: Build Raylib Example (Zig Previous Stable)
121-
# run: zig build -Dandroid=true --verbose
122-
# working-directory: examples/raylib
117+
- name: Set up JDK $CI_JAVA_VERSION
118+
uses: actions/setup-java@v5
119+
with:
120+
java-version: '$CI_JAVA_VERSION'
121+
distribution: 'temurin'
123122

124-
#
125-
# Nightly Zig Builds
126-
#
123+
- name: Setup Android SDK
124+
uses: android-actions/setup-android@v3
125+
with:
126+
# 35.0.0 = Android 15
127+
packages: "$CI_ANDROID_SDK"
127128

128129
- name: Setup Zig Nightly
129130
uses: mlugg/setup-zig@v2
@@ -144,3 +145,46 @@ jobs:
144145
# - name: Build Raylib Example (Zig Nightly)
145146
# run: zig build -Dandroid=true --verbose
146147
# working-directory: examples/raylib
148+
build-previous:
149+
name: Build Zig 0.14.0 (Previous Stable Release)
150+
strategy:
151+
matrix:
152+
max-parallel: 1
153+
include:
154+
- os: "ubuntu-latest"
155+
- os: "windows-latest"
156+
- os: "macos-14" # arm64 as per table: https://github.com/actions/runner-images/blob/8a1eeaf6ac70c66f675a04078d1a7222edd42008/README.md#available-images
157+
158+
runs-on: ${{matrix.os}}
159+
160+
steps:
161+
- uses: actions/checkout@v6
162+
163+
- name: Set up JDK $CI_JAVA_VERSION
164+
uses: actions/setup-java@v5
165+
with:
166+
java-version: '$CI_JAVA_VERSION'
167+
distribution: 'temurin'
168+
169+
- name: Setup Android SDK
170+
uses: android-actions/setup-android@v3
171+
with:
172+
# 35.0.0 = Android 15
173+
packages: "$CI_ANDROID_SDK"
174+
175+
#
176+
# Previous Stable Zig Build
177+
#
178+
179+
- name: Setup Zig Previous Stable (0.14.0)
180+
uses: mlugg/setup-zig@v2
181+
with:
182+
version: "0.14.0"
183+
184+
- name: Build Minimal Example (Zig Previous Stable)
185+
run: zig build -Dandroid=true --verbose
186+
working-directory: examples/minimal
187+
188+
- name: Build SDL2 Example (Zig Previous Stable)
189+
run: zig build -Dandroid=true --verbose
190+
working-directory: examples/sdl2

0 commit comments

Comments
 (0)