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>
This commit is contained in:
1 parent
6e5b370481
commit
14f3e71722
24 files changed
+86
-59
No files matched your search
@@ -580,6 +580,34 @@ jobs:
|
||||
run: |
|
||||
${{ env.RUST_CARGO_COMMAND }} ${{ matrix.platform.command }} ${{ matrix.platform.args }} --target ${{ matrix.platform.target }}
|
||||
|
||||
# Verify that declared minimum dependency versions actually compile.
|
||||
# Catches issues like https://github.com/DioxusLabs/dioxus/issues/5433 where
|
||||
# the code uses APIs not available in the declared minimum version.
|
||||
min-deps:
|
||||
needs: check-paths
|
||||
if: github.event.pull_request.draft == false && needs.check-paths.outputs.rust == 'true'
|
||||
name: "Check | Minimum dependency versions"
|
||||
runs-on: warp-ubuntu-latest-x64-4x
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: libwebkit2gtk-4.1-dev libgtk-3-dev libasound2-dev libudev-dev libayatana-appindicator3-dev libxdo-dev libglib2.0-dev
|
||||
version: 1.0
|
||||
- uses: dtolnay/rust-toolchain@nightly
|
||||
with:
|
||||
toolchain: ${{ env.rust_nightly }}
|
||||
- uses: dtolnay/rust-toolchain@1.88.0
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
cache-all-crates: "true"
|
||||
cache-workspace-crates: "true"
|
||||
cache-provider: "warpbuild"
|
||||
- name: Generate minimal-version lockfile
|
||||
run: cargo +${{ env.rust_nightly }} update -Zdirect-minimal-versions
|
||||
- name: Check workspace with minimum versions
|
||||
run: cargo +1.88.0 check --workspace
|
||||
|
||||
nix:
|
||||
needs: check-paths
|
||||
if: github.event.pull_request.draft == false && needs.check-paths.outputs.rust == 'true'
|
||||
|
||||
Generated
+2
-2
@@ -10424,7 +10424,7 @@ dependencies = [
|
||||
"dioxus-native-dom",
|
||||
"futures-util",
|
||||
"pollster 0.4.0",
|
||||
"rustc-hash 1.1.0",
|
||||
"rustc-hash 2.1.1",
|
||||
"tracing-subscriber",
|
||||
"vello",
|
||||
"wgpu 26.0.1",
|
||||
@@ -10449,7 +10449,7 @@ dependencies = [
|
||||
"dioxus-devtools",
|
||||
"dioxus-native-dom",
|
||||
"paste",
|
||||
"rustc-hash 1.1.0",
|
||||
"rustc-hash 2.1.1",
|
||||
"tracing-subscriber",
|
||||
"vello",
|
||||
"wgpu 26.0.1",
|
||||
|
||||
+25
-25
@@ -202,7 +202,7 @@ anyrender = { version = "0.6.2", default-features = false }
|
||||
anyrender_vello = { version = "0.6", default-features = false }
|
||||
anyrender_vello_cpu = { version = "0.8", default-features = false }
|
||||
wgpu_context = { version = "0.1", default-features = false }
|
||||
wgpu = { version = "26.0" }
|
||||
wgpu = { version = "26.0.1" }
|
||||
vello = "0.6"
|
||||
bevy = "0.17"
|
||||
|
||||
@@ -214,41 +214,41 @@ clap = { version = "4.5.40" }
|
||||
askama_escape = "0.13.0"
|
||||
tracing = "0.1.41"
|
||||
tracing-futures = "0.2.5"
|
||||
tracing-subscriber = { version = "0.3.19", default-features = false }
|
||||
toml = "0.8"
|
||||
tracing-subscriber = { version = "0.3.20", default-features = false }
|
||||
toml = "0.8.23"
|
||||
tokio = "1.48"
|
||||
tokio-util = { version = "0.7.15" }
|
||||
tokio-stream = { version = "0.1.17" }
|
||||
slab = "0.4.10"
|
||||
slotmap = { version = "1.0.7", features = ["serde"] }
|
||||
futures = "0.3.31"
|
||||
futures-channel = "0.3.31"
|
||||
futures-util = { version = "0.3", default-features = false }
|
||||
futures = "0.3.32"
|
||||
futures-channel = "0.3.32"
|
||||
futures-util = { version = "0.3.32", default-features = false }
|
||||
rustc-hash = "2.1.1"
|
||||
wasm-bindgen = "0.2.114"
|
||||
wasm-bindgen = "0.2.100"
|
||||
wasm-bindgen-futures = "0.4.50"
|
||||
js-sys = "0.3"
|
||||
js-sys = "0.3.77"
|
||||
web-sys = { version = "0.3.77", default-features = false }
|
||||
html_parser = "0.7.0"
|
||||
thiserror = "2.0.12"
|
||||
prettyplease = { version = "0.2.35", features = ["verbatim"] }
|
||||
const_format = "0.2.34"
|
||||
cargo_toml = { version = "0.22.1" }
|
||||
cargo_toml = { version = "0.22.3" }
|
||||
icns = "0.4.0"
|
||||
image = "0.25"
|
||||
image = "0.25.6"
|
||||
zip = { version = "4", default-features = false, features = ["deflate"] }
|
||||
sha1 = "0.10"
|
||||
sha1 = "0.10.6"
|
||||
md5 = "0.8.0"
|
||||
rpm = { version = "0.19.0", default-features = false, features = ["gzip-compression"] }
|
||||
lru = "0.16.0"
|
||||
async-trait = "0.1.88"
|
||||
axum = { version = "0.8.4", default-features = false }
|
||||
axum-server = { version = "0.7.3", default-features = false }
|
||||
http-body = { version = "1.0" }
|
||||
http-body = { version = "1.0.1" }
|
||||
tower = "0.5.2"
|
||||
http = "1.3.1"
|
||||
notify = { version = "8.1.0" }
|
||||
tower-http = "0.6.6"
|
||||
tower-http = "0.6.8"
|
||||
hyper = "1.6.0"
|
||||
hyper-rustls = { version = "0.27.7", default-features = false, features = [
|
||||
"native-tokio",
|
||||
@@ -265,17 +265,17 @@ rustls = { version = "0.23.28", default-features = false, features = [
|
||||
"ring",
|
||||
] }
|
||||
serde_json = "1.0.140"
|
||||
serde = "1.0.219"
|
||||
serde = "1.0.225"
|
||||
schemars = "1.0"
|
||||
syn = "2.0"
|
||||
quote = "1.0"
|
||||
axum-core = "0.5"
|
||||
syn = "2.0.104"
|
||||
quote = "1.0.38"
|
||||
axum-core = "0.5.2"
|
||||
proc-macro2 = "1.0.101"
|
||||
axum_session = "0.16.0"
|
||||
axum_session_auth = "0.16.0"
|
||||
axum_session_sqlx = "0.5.0"
|
||||
axum-extra = "0.10.1"
|
||||
reqwest = { version = "0.12.23", default-features = false }
|
||||
reqwest = { version = "0.12.28", default-features = false }
|
||||
owo-colors = "4.2.2"
|
||||
ciborium = "0.2.2"
|
||||
base64 = "0.22.1"
|
||||
@@ -291,7 +291,7 @@ chrono = { version = "0.4.39" }
|
||||
rustversion = "1.0.21"
|
||||
rand = "0.9"
|
||||
longest-increasing-subsequence = "0.1.0"
|
||||
trybuild = "1.0"
|
||||
trybuild = "1.0.116"
|
||||
dirs = "6.0.0"
|
||||
cargo-config2 = "0.1.34"
|
||||
criterion = { version = "0.6" }
|
||||
@@ -317,26 +317,26 @@ object = { version = "0.37.1" }
|
||||
inventory = { version = "0.3" }
|
||||
macro-string = "0.1.4"
|
||||
walkdir = "2.5.0"
|
||||
url = "2"
|
||||
url = "2.5.4"
|
||||
data-url = "0.3.2"
|
||||
separator = "0.4.1"
|
||||
pretty_assertions = "1"
|
||||
serde_repr = "0.1"
|
||||
hyper-util = "0.1"
|
||||
serde_repr = "0.1.19"
|
||||
hyper-util = "0.1.12"
|
||||
krates = { version = "0.17.5" }
|
||||
libloading = "0.8.8"
|
||||
libc = "0.2.174"
|
||||
memmap2 = "0.9.5"
|
||||
memmap2 = "0.9.8"
|
||||
memfd = "0.6.4"
|
||||
xxhash-rust = { version = "0.8.15", default-features = false }
|
||||
serde_qs = "0.15.0"
|
||||
multer = "3.1.0"
|
||||
const-str = "0.7.0"
|
||||
bytes = "1.10"
|
||||
bytes = "1.10.1"
|
||||
send_wrapper = "0.6.0"
|
||||
pin-project = { version = "1.1.10" }
|
||||
postcard = { version = "1.1.3", default-features = false }
|
||||
serde_urlencoded = "0.7"
|
||||
serde_urlencoded = "0.7.1"
|
||||
form_urlencoded = "1.2.1"
|
||||
winnow = "0.7.14"
|
||||
|
||||
|
||||
@@ -12,5 +12,5 @@ tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
|
||||
bevy = { workspace = true }
|
||||
dioxus-native = { workspace = true, features = ["prelude"] }
|
||||
wgpu = { workspace = true }
|
||||
color = "0.3"
|
||||
color = "0.3.2"
|
||||
tracing-subscriber = { workspace = true, optional = true }
|
||||
@@ -28,8 +28,7 @@ tracing-subscriber = { workspace = true, optional = true }
|
||||
bevy = { workspace = true }
|
||||
vello = { workspace = true }
|
||||
bytes = { workspace = true }
|
||||
async-std = "1.13"
|
||||
async-std = "1.13.1"
|
||||
crossbeam-channel = "0.5"
|
||||
paste = "1.0"
|
||||
rustc-hash = "1"
|
||||
|
||||
paste = "1.0.12"
|
||||
rustc-hash = { workspace = true }
|
||||
@@ -13,13 +13,13 @@ dioxus = { workspace = true, features = ["html", "hooks", "signals"] }
|
||||
dioxus-native-dom = { workspace = true }
|
||||
anyrender_vello = { workspace = true }
|
||||
vello = { workspace = true }
|
||||
rustc-hash = "1"
|
||||
rustc-hash = { workspace = true }
|
||||
futures-util = { workspace = true }
|
||||
tracing-subscriber = { workspace = true, optional = true }
|
||||
wgpu = { workspace = true }
|
||||
wgpu_context = { workspace = true }
|
||||
pollster = "0.4"
|
||||
bytemuck = "1"
|
||||
bytemuck = "1.23.2"
|
||||
blitz-paint = { workspace = true, default-features = true }
|
||||
blitz-traits = { workspace = true, default-features = true }
|
||||
blitz-dom = { workspace = true, default-features = true }
|
||||
@@ -15,7 +15,7 @@ tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
|
||||
dioxus-native = { workspace = true }
|
||||
dioxus = { workspace = true }
|
||||
wgpu = { workspace = true }
|
||||
winit = "0.30"
|
||||
bytemuck = "1"
|
||||
color = "0.3"
|
||||
winit = { workspace = true }
|
||||
bytemuck = "1.23.2"
|
||||
color = "0.3.2"
|
||||
tracing-subscriber = { workspace = true, optional = true }
|
||||
@@ -7,7 +7,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ syn = { workspace = true, features = [
|
||||
"visit-mut",
|
||||
] }
|
||||
|
||||
walkdir = "2"
|
||||
walkdir = { workspace = true }
|
||||
dunce = { workspace = true }
|
||||
|
||||
# tools download
|
||||
@@ -101,7 +101,7 @@ ignore = "0.4.23"
|
||||
const-serialize = { workspace = true, features = ["serde"] }
|
||||
const-serialize-07 = { package = "const-serialize", version = "=0.7.2", features = ["serde"] }
|
||||
|
||||
tracing-subscriber = { version = "0.3.19", features = [
|
||||
tracing-subscriber = { workspace = true, features = [
|
||||
"std",
|
||||
"env-filter",
|
||||
"json",
|
||||
@@ -119,7 +119,7 @@ ratatui = { workspace = true, features = ["crossterm", "unstable"] }
|
||||
shell-words = { workspace = true }
|
||||
|
||||
# disable `log` entirely since `walrus` uses it and is *much* slower with it enableda
|
||||
log = { version = "0.4", features = ["max_level_off", "release_max_level_off"] }
|
||||
log = { version = "0.4.27", features = ["max_level_off", "release_max_level_off"] }
|
||||
|
||||
# link intercept
|
||||
tempfile = "3.19.1"
|
||||
|
||||
@@ -4637,7 +4637,7 @@ impl BuildRequest {
|
||||
|
||||
// Get the strip setting from the profile or the profile it inherits from
|
||||
fn get_strip(profile: &Profile, profiles: &Profiles) -> Option<StripSetting> {
|
||||
profile.strip.or_else(|| {
|
||||
profile.strip.as_ref().copied().or_else(|| {
|
||||
// If we can't find the strip setting, check if we inherit from another profile
|
||||
profile.inherits.as_ref().and_then(|inherits| {
|
||||
let profile = match inherits.as_str() {
|
||||
|
||||
@@ -11,5 +11,5 @@ keywords = ["dom", "ui", "gui", "react"]
|
||||
|
||||
[dependencies]
|
||||
schemars = "1.0.4"
|
||||
serde = { version = "1.0.219", features = ["derive"] }
|
||||
serde_json = "1.0.143"
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
serde_json = { workspace = true }
|
||||
@@ -21,8 +21,8 @@ dioxus-asset-resolver = { workspace = true, features = ["native"] }
|
||||
generational-box = { workspace = true }
|
||||
dioxus-devtools = { workspace = true, optional = true }
|
||||
|
||||
serde = "1.0.219"
|
||||
serde_json = "1.0.140"
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
wry = { workspace = true, default-features = false, features = ["os-webview", "protocol", "drag-drop"] }
|
||||
|
||||
@@ -64,7 +64,7 @@ rkyv = { optional = true, default-features = true, version = "0.8" }
|
||||
futures = { workspace = true, default-features = true }
|
||||
pin-project = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
bytes = {version = "1.10.1", features = ["serde"]}
|
||||
bytes = { workspace = true, features = ["serde"] }
|
||||
tower-http = { workspace = true, features = ["fs"] }
|
||||
tower = { workspace = true, features = ["util"] }
|
||||
tower-layer = { version = "0.3.3", optional = true }
|
||||
|
||||
@@ -72,7 +72,7 @@ async-stream = "0.3.6"
|
||||
|
||||
# websocket stuff
|
||||
# [target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
web-sys = { version = "0.3", features = ["WebSocket", "CloseEvent", "ErrorEvent", "Event", "MessageEvent", "BinaryType", "FormData", "Response", "ReadableStream", "AbortController", "File", "ReadableStream", "HtmlFormElement", "FormData"], optional = true }
|
||||
web-sys = { workspace = true, features = ["WebSocket", "CloseEvent", "ErrorEvent", "Event", "MessageEvent", "BinaryType", "FormData", "Response", "ReadableStream", "AbortController", "File", "ReadableStream", "HtmlFormElement", "FormData"], optional = true }
|
||||
gloo-net = "0.6.0"
|
||||
js-sys = { workspace = true }
|
||||
wasm-bindgen = { workspace = true }
|
||||
|
||||
@@ -36,7 +36,7 @@ bytes = { workspace = true }
|
||||
lazy-js-bundle = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
serde_json = "1"
|
||||
serde_json = { workspace = true }
|
||||
dioxus = { workspace = true }
|
||||
dioxus-web = { workspace = true }
|
||||
tokio = { workspace = true, features = ["time"] }
|
||||
|
||||
@@ -20,7 +20,7 @@ thiserror = { workspace = true }
|
||||
const-serialize-07 = { package = "const-serialize", version = "=0.7.2" }
|
||||
|
||||
[target.'cfg(target_os = "android")'.dependencies]
|
||||
jni = "0.21"
|
||||
jni = "0.21.1"
|
||||
ndk-context = "0.1.1"
|
||||
|
||||
[target.'cfg(target_os = "ios")'.dependencies]
|
||||
|
||||
@@ -8,7 +8,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -8,7 +8,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -8,7 +8,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -8,7 +8,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack", "router"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -9,7 +9,7 @@ publish = false
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
futures.workspace = true
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -8,7 +8,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"], optional = true }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -7,7 +7,7 @@ publish = false
|
||||
[dependencies]
|
||||
dioxus = { workspace = true, features = ["fullstack"] }
|
||||
async-std = "1.13.1"
|
||||
serde = "1.0.219"
|
||||
serde = { workspace = true }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
@@ -32,8 +32,8 @@ tracing = { workspace = true }
|
||||
rustc-hash = { workspace = true }
|
||||
futures-util = { workspace = true, features = ["std", "async-await", "async-await-macro"] }
|
||||
futures-channel = { workspace = true }
|
||||
serde_json = { version = "1.0", optional = true }
|
||||
serde = { version = "1.0", optional = true }
|
||||
serde_json = { workspace = true, optional = true }
|
||||
serde = { workspace = true, optional = true }
|
||||
serde-wasm-bindgen = { version = "0.6.5", optional = true }
|
||||
|
||||
ciborium = { workspace = true, optional = true }
|
||||
|
||||
Reference in new issue
Block a user