Skip to content

Commit 7a2a94e

Browse files
committed
fix: CI
* Fix breakage from Rustup 1.28 <https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html> * Let `Swatinem/rust-cache` generate cache keys
1 parent 7af998c commit 7a2a94e

File tree

3 files changed

+75
-65
lines changed

3 files changed

+75
-65
lines changed

.github/workflows/examples.yml

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ jobs:
1414
steps:
1515
- uses: actions/checkout@v4
1616

17-
- name: Use latest Rust
18-
run: rustup override set stable
17+
- name: Setup Rust
18+
run: |
19+
rustup show active-toolchain || rustup toolchain install
20+
rustup override set stable
1921
2022
- uses: Swatinem/rust-cache@v2
21-
with:
22-
key: sqlx-cli
2323

2424
- run: >
25-
cargo build
26-
-p sqlx-cli
27-
--bin sqlx
28-
--release
29-
--no-default-features
30-
--features mysql,postgres,sqlite
25+
cargo build
26+
-p sqlx-cli
27+
--bin sqlx
28+
--release
29+
--no-default-features
30+
--features mysql,postgres,sqlite
3131
3232
- uses: actions/upload-artifact@v4
3333
with:
@@ -63,9 +63,10 @@ jobs:
6363
6464
- uses: actions/checkout@v4
6565

66+
- name: Setup Rust
67+
run: rustup show active-toolchain || rustup toolchain install
68+
6669
- uses: Swatinem/rust-cache@v2
67-
with:
68-
key: mysql-examples
6970

7071
- name: Todos (Setup)
7172
working-directory: examples/mysql/todos
@@ -98,17 +99,16 @@ jobs:
9899
name: sqlx-cli
99100
path: /home/runner/.local/bin
100101

101-
- run: |
102+
- run: |
102103
ls -R /home/runner/.local/bin
103104
chmod +x $HOME/.local/bin/sqlx
104105
echo $HOME/.local/bin >> $GITHUB_PATH
105106
sleep 10
106107
107108
- uses: actions/checkout@v4
108109

109-
- uses: Swatinem/rust-cache@v2
110-
with:
111-
key: pg-examples
110+
- name: Setup Rust
111+
run: rustup show active-toolchain || rustup toolchain install
112112

113113
- name: Axum Social with Tests (Setup)
114114
working-directory: examples/postgres/axum-social-with-tests
@@ -217,9 +217,10 @@ jobs:
217217
218218
- uses: actions/checkout@v4
219219

220+
- name: Setup Rust
221+
run: rustup show active-toolchain || rustup toolchain install
222+
220223
- uses: Swatinem/rust-cache@v2
221-
with:
222-
key: sqlite-examples
223224

224225
- name: TODOs (Setup)
225226
env:

.github/workflows/sqlx-cli.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@v4
1717

18-
- run: |
19-
rustup update
18+
- name: Setup Rust
19+
run: |
20+
rustup show active-toolchain || rustup toolchain install
2021
rustup component add clippy
2122
rustup toolchain install beta
2223
rustup component add --toolchain beta clippy
@@ -40,18 +41,19 @@ jobs:
4041
matrix:
4142
# Note: macOS-latest uses M1 Silicon (ARM64)
4243
os:
43-
- ubuntu-latest
44-
# FIXME: migrations tests fail on Windows for whatever reason
45-
# - windows-latest
46-
- macOS-13
47-
- macOS-latest
44+
- ubuntu-latest
45+
# FIXME: migrations tests fail on Windows for whatever reason
46+
# - windows-latest
47+
- macOS-13
48+
- macOS-latest
4849

4950
steps:
5051
- uses: actions/checkout@v4
5152

53+
- name: Setup Rust
54+
run: rustup show active-toolchain || rustup toolchain install
55+
5256
- uses: Swatinem/rust-cache@v2
53-
with:
54-
key: ${{ runner.os }}-test
5557

5658
- run: cargo test --manifest-path sqlx-cli/Cargo.toml
5759

@@ -85,12 +87,12 @@ jobs:
8587
steps:
8688
- uses: actions/checkout@v4
8789

88-
- name: Use latest Rust
89-
run: rustup override set stable
90+
- name: Setup Rust
91+
run: |
92+
rustup show active-toolchain || rustup toolchain install
93+
rustup override set stable
9094
9195
- uses: Swatinem/rust-cache@v2
92-
with:
93-
key: ${{ runner.os }}-cli
9496

9597
- run: cargo build --manifest-path sqlx-cli/Cargo.toml --bin cargo-sqlx ${{ matrix.args }}
9698

.github/workflows/sqlx.yml

Lines changed: 41 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -55,8 +56,10 @@ jobs:
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

Comments
 (0)