Skip to content

Commit 008251e

Browse files
committed
Build & test on more targets
1 parent f208d35 commit 008251e

File tree

1 file changed

+64
-3
lines changed

1 file changed

+64
-3
lines changed

.github/workflows/build.yml

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,19 @@ jobs:
2828
- uses: actions/checkout@v4
2929
with:
3030
lfs: true
31+
- name: Update rust toolchain
32+
run: |
33+
rustup update stable
34+
rustup default stable
35+
rustup --version
36+
- name: Cache rust dependencies
37+
uses: actions/cache@v4
38+
with:
39+
path: |
40+
~/.cargo/registry
41+
~/.cargo/git
42+
target
43+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
3144
- name: Check (default members)
3245
run: cargo check
3346
- name: Check with examples
@@ -40,13 +53,30 @@ jobs:
4053
run: cargo test
4154

4255
build_release:
43-
name: Build & test release mode
44-
runs-on: ubuntu-latest
56+
name: Build & test release mode (${{ matrix.runner }})
57+
runs-on: ${{ matrix.runner }}
4558
needs: build_workspace
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
runner: [ubuntu-latest, ubuntu-24.04-arm, macos-14, macos-13, windows-latest]
4663
steps:
4764
- uses: actions/checkout@v4
4865
with:
4966
lfs: true
67+
- name: Update rust toolchain
68+
run: |
69+
rustup update stable
70+
rustup default stable
71+
rustup --version
72+
- name: Cache rust dependencies
73+
uses: actions/cache@v4
74+
with:
75+
path: |
76+
~/.cargo/registry
77+
~/.cargo/git
78+
target
79+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
5080
- name: Build (release)
5181
run: cargo build --release
5282
- name: Test (release)
@@ -59,6 +89,19 @@ jobs:
5989
- uses: actions/checkout@v4
6090
with:
6191
lfs: true
92+
- name: Update rust toolchain
93+
run: |
94+
rustup update stable
95+
rustup default stable
96+
rustup --version
97+
- name: Cache rust dependencies
98+
uses: actions/cache@v4
99+
with:
100+
path: |
101+
~/.cargo/registry
102+
~/.cargo/git
103+
target
104+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
62105
- name: Build
63106
run: |
64107
cargo build --manifest-path="splashsurf_lib/Cargo.toml" --all-targets --all-features
@@ -76,6 +119,19 @@ jobs:
76119
- uses: actions/checkout@v4
77120
with:
78121
lfs: true
122+
- name: Update rust toolchain
123+
run: |
124+
rustup update stable
125+
rustup default stable
126+
rustup --version
127+
- name: Cache rust dependencies
128+
uses: actions/cache@v4
129+
with:
130+
path: |
131+
~/.cargo/registry
132+
~/.cargo/git
133+
target
134+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
79135
- name: Build
80136
run: |
81137
cargo build --manifest-path="splashsurf_lib/Cargo.toml" --all-targets --no-default-features
@@ -87,9 +143,14 @@ jobs:
87143
name: Publish to crates.io
88144
runs-on: ubuntu-latest
89145
if: ${{ startsWith(github.ref, 'refs/tags/v') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main') }}
90-
needs: [check_format, build_workspace, build_lib_all_features, build_lib_no_default_features]
146+
needs: [check_format, build_workspace, build_lib_all_features, build_lib_no_default_features, build_release]
91147
steps:
92148
- uses: actions/checkout@v4
149+
- name: Update rust toolchain
150+
run: |
151+
rustup update stable
152+
rustup default stable
153+
rustup --version
93154
- name: Publish splashsurf_lib
94155
run: |
95156
cargo publish --package splashsurf_lib

0 commit comments

Comments
 (0)