@@ -21,21 +21,22 @@ jobs:
2121 runs-on : ubuntu-22.04
2222 strategy :
2323 matrix :
24- runtime : [async-std, tokio]
25- tls : [native-tls, rustls, none]
24+ runtime : [ async-std, tokio ]
25+ tls : [ native-tls, rustls, none ]
2626 steps :
2727 - uses : actions/checkout@v4
2828
29- - uses : Swatinem/rust-cache@v2
30- with :
31- key : " ${{ runner.os }}-check-${{ matrix.runtime }}-${{ matrix.tls }}"
32-
33- - run : |
34- rustup update
29+ # Swatinem/rust-cache recommends setting up the rust toolchain first because it's used in cache keys
30+ - name : Setup Rust
31+ # https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html
32+ run : |
33+ rustup show active-toolchain || rustup toolchain install
3534 rustup component add clippy
3635 rustup toolchain install beta
3736 rustup component add --toolchain beta clippy
3837
38+ - uses : Swatinem/rust-cache@v2
39+
3940 - run : >
4041 cargo clippy
4142 --no-default-features
5556 runs-on : ubuntu-22.04
5657 steps :
5758 - uses : actions/checkout@v4
58- - run : rustup update
59- - run : rustup toolchain install nightly
59+ - name : Setup Rust
60+ run : |
61+ rustup show active-toolchain || rustup toolchain install
62+ rustup toolchain install nightly
6063 - run : cargo +nightly generate-lockfile -Z minimal-versions
6164 - run : cargo build --all-features
6265
@@ -66,12 +69,11 @@ jobs:
6669 steps :
6770 - uses : actions/checkout@v4
6871
69- - uses : Swatinem/ rust-cache@v2
70- with :
71- key : ${{ runner.os }}-test
72+ # https://blog. rust-lang.org/2025/03/02/Rustup-1.28.0.html
73+ - name : Setup Rust
74+ run : rustup show active-toolchain || rustup toolchain install
7275
73- - name : Install Rust
74- run : rustup update
76+ - uses : Swatinem/rust-cache@v2
7577
7678 - name : Test sqlx-core
7779 run : >
@@ -116,17 +118,19 @@ jobs:
116118 runs-on : ubuntu-22.04
117119 strategy :
118120 matrix :
119- runtime : [async-std, tokio]
120- linking : [sqlite, sqlite-unbundled]
121+ runtime : [ async-std, tokio ]
122+ linking : [ sqlite, sqlite-unbundled ]
121123 needs : check
122124 steps :
123125 - uses : actions/checkout@v4
124126
125127 - run : mkdir /tmp/sqlite3-lib && wget -O /tmp/sqlite3-lib/ipaddr.so https://github.com/nalgeon/sqlean/releases/download/0.15.2/ipaddr.so
126128
129+ # https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html
130+ - name : Setup Rust
131+ run : rustup show active-toolchain || rustup toolchain install
132+
127133 - uses : Swatinem/rust-cache@v2
128- with :
129- key : " ${{ runner.os }}-${{ matrix.linking }}-${{ matrix.runtime }}-${{ matrix.tls }}"
130134
131135 - name : Install system sqlite library
132136 if : ${{ matrix.linking == 'sqlite-unbundled' }}
@@ -182,16 +186,17 @@ jobs:
182186 runs-on : ubuntu-22.04
183187 strategy :
184188 matrix :
185- postgres : [17, 13]
186- runtime : [async-std, tokio]
187- tls : [native-tls, rustls-aws-lc-rs, rustls-ring, none]
189+ postgres : [ 17, 13 ]
190+ runtime : [ async-std, tokio ]
191+ tls : [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
188192 needs : check
189193 steps :
190194 - uses : actions/checkout@v4
191195
196+ - name : Setup Rust
197+ run : rustup show active-toolchain || rustup toolchain install
198+
192199 - uses : Swatinem/rust-cache@v2
193- with :
194- key : " ${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ matrix.tls }}"
195200
196201 - env :
197202 # FIXME: needed to disable `ltree` tests in Postgres 9.6
@@ -282,16 +287,17 @@ jobs:
282287 runs-on : ubuntu-22.04
283288 strategy :
284289 matrix :
285- mysql : [8 ]
286- runtime : [async-std, tokio]
287- tls : [native-tls, rustls-aws-lc-rs, rustls-ring, none]
290+ mysql : [ 8 ]
291+ runtime : [ async-std, tokio ]
292+ tls : [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
288293 needs : check
289294 steps :
290295 - uses : actions/checkout@v4
291296
297+ - name : Setup Rust
298+ run : rustup show active-toolchain || rustup toolchain install
299+
292300 - uses : Swatinem/rust-cache@v2
293- with :
294- key : " ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}"
295301
296302 - run : cargo build --features mysql,_unstable-all-types,runtime-${{ matrix.runtime }},tls-${{ matrix.tls }}
297303
@@ -370,16 +376,17 @@ jobs:
370376 runs-on : ubuntu-22.04
371377 strategy :
372378 matrix :
373- mariadb : [verylatest, 11_4, 10_11, 10_4]
374- runtime : [async-std, tokio]
375- tls : [native-tls, rustls-aws-lc-rs, rustls-ring, none]
379+ mariadb : [ verylatest, 11_4, 10_11, 10_4 ]
380+ runtime : [ async-std, tokio ]
381+ tls : [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
376382 needs : check
377383 steps :
378384 - uses : actions/checkout@v4
379385
386+ - name : Setup Rust
387+ run : rustup show active-toolchain || rustup toolchain install
388+
380389 - uses : Swatinem/rust-cache@v2
381- with :
382- key : " ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}"
383390
384391 - run : cargo build --features mysql,_unstable-all-types,runtime-${{ matrix.runtime }},tls-${{ matrix.tls }}
385392
0 commit comments