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)
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