Skip to content

Commit 14f3e71

Browse files
ealmloffjkelleyrtp
andauthored
Check minimum versions in CI (#5437)
* check minimum versions * fix min lockfile * fix clippy * Delete .codex * fix toml min version * add cache to min-deps --------- Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
1 parent 6e5b370 commit 14f3e71

24 files changed

Lines changed: 87 additions & 60 deletions

File tree

.github/workflows/main.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,34 @@ jobs:
580580
run: |
581581
${{ env.RUST_CARGO_COMMAND }} ${{ matrix.platform.command }} ${{ matrix.platform.args }} --target ${{ matrix.platform.target }}
582582
583+
# Verify that declared minimum dependency versions actually compile.
584+
# Catches issues like https://github.com/DioxusLabs/dioxus/issues/5433 where
585+
# the code uses APIs not available in the declared minimum version.
586+
min-deps:
587+
needs: check-paths
588+
if: github.event.pull_request.draft == false && needs.check-paths.outputs.rust == 'true'
589+
name: "Check | Minimum dependency versions"
590+
runs-on: warp-ubuntu-latest-x64-4x
591+
steps:
592+
- uses: actions/checkout@v5
593+
- uses: awalsh128/cache-apt-pkgs-action@latest
594+
with:
595+
packages: libwebkit2gtk-4.1-dev libgtk-3-dev libasound2-dev libudev-dev libayatana-appindicator3-dev libxdo-dev libglib2.0-dev
596+
version: 1.0
597+
- uses: dtolnay/rust-toolchain@nightly
598+
with:
599+
toolchain: ${{ env.rust_nightly }}
600+
- uses: dtolnay/rust-toolchain@1.88.0
601+
- uses: Swatinem/rust-cache@v2
602+
with:
603+
cache-all-crates: "true"
604+
cache-workspace-crates: "true"
605+
cache-provider: "warpbuild"
606+
- name: Generate minimal-version lockfile
607+
run: cargo +${{ env.rust_nightly }} update -Zdirect-minimal-versions
608+
- name: Check workspace with minimum versions
609+
run: cargo +1.88.0 check --workspace
610+
583611
nix:
584612
needs: check-paths
585613
if: github.event.pull_request.draft == false && needs.check-paths.outputs.rust == 'true'

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ anyrender = { version = "0.6.2", default-features = false }
202202
anyrender_vello = { version = "0.6", default-features = false }
203203
anyrender_vello_cpu = { version = "0.8", default-features = false }
204204
wgpu_context = { version = "0.1", default-features = false }
205-
wgpu = { version = "26.0" }
205+
wgpu = { version = "26.0.1" }
206206
vello = "0.6"
207207
bevy = "0.17"
208208

@@ -214,41 +214,41 @@ clap = { version = "4.5.40" }
214214
askama_escape = "0.13.0"
215215
tracing = "0.1.41"
216216
tracing-futures = "0.2.5"
217-
tracing-subscriber = { version = "0.3.19", default-features = false }
218-
toml = "0.8"
217+
tracing-subscriber = { version = "0.3.20", default-features = false }
218+
toml = "0.8.23"
219219
tokio = "1.48"
220220
tokio-util = { version = "0.7.15" }
221221
tokio-stream = { version = "0.1.17" }
222222
slab = "0.4.10"
223223
slotmap = { version = "1.0.7", features = ["serde"] }
224-
futures = "0.3.31"
225-
futures-channel = "0.3.31"
226-
futures-util = { version = "0.3", default-features = false }
224+
futures = "0.3.32"
225+
futures-channel = "0.3.32"
226+
futures-util = { version = "0.3.32", default-features = false }
227227
rustc-hash = "2.1.1"
228-
wasm-bindgen = "0.2.114"
228+
wasm-bindgen = "0.2.100"
229229
wasm-bindgen-futures = "0.4.50"
230-
js-sys = "0.3"
230+
js-sys = "0.3.77"
231231
web-sys = { version = "0.3.77", default-features = false }
232232
html_parser = "0.7.0"
233233
thiserror = "2.0.12"
234234
prettyplease = { version = "0.2.35", features = ["verbatim"] }
235235
const_format = "0.2.34"
236-
cargo_toml = { version = "0.22.1" }
236+
cargo_toml = { version = "0.22.3" }
237237
icns = "0.4.0"
238-
image = "0.25"
238+
image = "0.25.6"
239239
zip = { version = "4", default-features = false, features = ["deflate"] }
240-
sha1 = "0.10"
240+
sha1 = "0.10.6"
241241
md5 = "0.8.0"
242242
rpm = { version = "0.19.0", default-features = false, features = ["gzip-compression"] }
243243
lru = "0.16.0"
244244
async-trait = "0.1.88"
245245
axum = { version = "0.8.4", default-features = false }
246246
axum-server = { version = "0.7.3", default-features = false }
247-
http-body = { version = "1.0" }
247+
http-body = { version = "1.0.1" }
248248
tower = "0.5.2"
249249
http = "1.3.1"
250250
notify = { version = "8.1.0" }
251-
tower-http = "0.6.6"
251+
tower-http = "0.6.8"
252252
hyper = "1.6.0"
253253
hyper-rustls = { version = "0.27.7", default-features = false, features = [
254254
"native-tokio",
@@ -265,17 +265,17 @@ rustls = { version = "0.23.28", default-features = false, features = [
265265
"ring",
266266
] }
267267
serde_json = "1.0.140"
268-
serde = "1.0.219"
268+
serde = "1.0.225"
269269
schemars = "1.0"
270-
syn = "2.0"
271-
quote = "1.0"
272-
axum-core = "0.5"
270+
syn = "2.0.104"
271+
quote = "1.0.38"
272+
axum-core = "0.5.2"
273273
proc-macro2 = "1.0.101"
274274
axum_session = "0.16.0"
275275
axum_session_auth = "0.16.0"
276276
axum_session_sqlx = "0.5.0"
277277
axum-extra = "0.10.1"
278-
reqwest = { version = "0.12.23", default-features = false }
278+
reqwest = { version = "0.12.28", default-features = false }
279279
owo-colors = "4.2.2"
280280
ciborium = "0.2.2"
281281
base64 = "0.22.1"
@@ -291,7 +291,7 @@ chrono = { version = "0.4.39" }
291291
rustversion = "1.0.21"
292292
rand = "0.9"
293293
longest-increasing-subsequence = "0.1.0"
294-
trybuild = "1.0"
294+
trybuild = "1.0.116"
295295
dirs = "6.0.0"
296296
cargo-config2 = "0.1.34"
297297
criterion = { version = "0.6" }
@@ -317,26 +317,26 @@ object = { version = "0.37.1" }
317317
inventory = { version = "0.3" }
318318
macro-string = "0.1.4"
319319
walkdir = "2.5.0"
320-
url = "2"
320+
url = "2.5.4"
321321
data-url = "0.3.2"
322322
separator = "0.4.1"
323323
pretty_assertions = "1"
324-
serde_repr = "0.1"
325-
hyper-util = "0.1"
324+
serde_repr = "0.1.19"
325+
hyper-util = "0.1.12"
326326
krates = { version = "0.17.5" }
327327
libloading = "0.8.8"
328328
libc = "0.2.174"
329-
memmap2 = "0.9.5"
329+
memmap2 = "0.9.8"
330330
memfd = "0.6.4"
331331
xxhash-rust = { version = "0.8.15", default-features = false }
332332
serde_qs = "0.15.0"
333333
multer = "3.1.0"
334334
const-str = "0.7.0"
335-
bytes = "1.10"
335+
bytes = "1.10.1"
336336
send_wrapper = "0.6.0"
337337
pin-project = { version = "1.1.10" }
338338
postcard = { version = "1.1.3", default-features = false }
339-
serde_urlencoded = "0.7"
339+
serde_urlencoded = "0.7.1"
340340
form_urlencoded = "1.2.1"
341341
winnow = "0.7.14"
342342

examples/10-integrations/bevy/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
1212
bevy = { workspace = true }
1313
dioxus-native = { workspace = true, features = ["prelude"] }
1414
wgpu = { workspace = true }
15-
color = "0.3"
15+
color = "0.3.2"
1616
tracing-subscriber = { workspace = true, optional = true }

examples/10-integrations/native-headless-in-bevy/Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ tracing-subscriber = { workspace = true, optional = true }
2828
bevy = { workspace = true }
2929
vello = { workspace = true }
3030
bytes = { workspace = true }
31-
async-std = "1.13"
31+
async-std = "1.13.1"
3232
crossbeam-channel = "0.5"
33-
paste = "1.0"
34-
rustc-hash = "1"
35-
33+
paste = "1.0.12"
34+
rustc-hash = { workspace = true }

examples/10-integrations/native-headless/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ dioxus = { workspace = true, features = ["html", "hooks", "signals"] }
1313
dioxus-native-dom = { workspace = true }
1414
anyrender_vello = { workspace = true }
1515
vello = { workspace = true }
16-
rustc-hash = "1"
16+
rustc-hash = { workspace = true }
1717
futures-util = { workspace = true }
1818
tracing-subscriber = { workspace = true, optional = true }
1919
wgpu = { workspace = true }
2020
wgpu_context = { workspace = true }
2121
pollster = "0.4"
22-
bytemuck = "1"
22+
bytemuck = "1.23.2"
2323
blitz-paint = { workspace = true, default-features = true }
2424
blitz-traits = { workspace = true, default-features = true }
2525
blitz-dom = { workspace = true, default-features = true }

examples/10-integrations/wgpu-texture/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
1515
dioxus-native = { workspace = true }
1616
dioxus = { workspace = true }
1717
wgpu = { workspace = true }
18-
winit = "0.30"
19-
bytemuck = "1"
20-
color = "0.3"
18+
winit = { workspace = true }
19+
bytemuck = "1.23.2"
20+
color = "0.3.2"
2121
tracing-subscriber = { workspace = true, optional = true }

packages/cli-harnesses/harness-fullstack-with-optional-tokio/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ publish = false
77

88
[dependencies]
99
dioxus = { workspace = true, features = ["fullstack"] }
10-
serde = "1.0.219"
10+
serde = { workspace = true }
1111
tokio = { workspace = true, features = ["full"], optional = true }
1212

1313

@@ -16,4 +16,4 @@ default = []
1616
server = ["dioxus/server", "dep:tokio"]
1717
web = ["dioxus/web"]
1818

19-
19+

packages/cli/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ syn = { workspace = true, features = [
6868
"visit-mut",
6969
] }
7070

71-
walkdir = "2"
71+
walkdir = { workspace = true }
7272
dunce = { workspace = true }
7373

7474
# tools download
@@ -101,7 +101,7 @@ ignore = "0.4.23"
101101
const-serialize = { workspace = true, features = ["serde"] }
102102
const-serialize-07 = { package = "const-serialize", version = "=0.7.2", features = ["serde"] }
103103

104-
tracing-subscriber = { version = "0.3.19", features = [
104+
tracing-subscriber = { workspace = true, features = [
105105
"std",
106106
"env-filter",
107107
"json",
@@ -119,7 +119,7 @@ ratatui = { workspace = true, features = ["crossterm", "unstable"] }
119119
shell-words = { workspace = true }
120120

121121
# disable `log` entirely since `walrus` uses it and is *much* slower with it enableda
122-
log = { version = "0.4", features = ["max_level_off", "release_max_level_off"] }
122+
log = { version = "0.4.27", features = ["max_level_off", "release_max_level_off"] }
123123

124124
# link intercept
125125
tempfile = "3.19.1"

packages/cli/src/build/request.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4637,7 +4637,7 @@ impl BuildRequest {
46374637

46384638
// Get the strip setting from the profile or the profile it inherits from
46394639
fn get_strip(profile: &Profile, profiles: &Profiles) -> Option<StripSetting> {
4640-
profile.strip.or_else(|| {
4640+
profile.strip.as_ref().copied().or_else(|| {
46414641
// If we can't find the strip setting, check if we inherit from another profile
46424642
profile.inherits.as_ref().and_then(|inherits| {
46434643
let profile = match inherits.as_str() {

0 commit comments

Comments
 (0)