@@ -2172,6 +2172,16 @@ dependencies = [
"piper",
]
+[[package]]
+name = "bmrng"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54df9073108f1558f90ae6c5bf5ab9c917c4185f5527b280c87a993cbead0ac"
+dependencies = [
+ "futures-core",
+ "tokio",
+]
+
[[package]]
name = "bon"
version = "3.8.2"
@@ -2754,6 +2764,16 @@ dependencies = [
"target-lexicon 0.12.16",
]
+[[package]]
+name = "cfg-expr"
+version = "0.20.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78cef5b5a1a6827c7322ae2a636368a573006b27cfa76c7ebd53e834daeaab6a"
+dependencies = [
+ "smallvec",
+ "target-lexicon 0.13.3",
+]
+
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -7141,6 +7161,19 @@ version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
+[[package]]
+name = "gio-sys"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps 7.0.7",
+ "windows-sys 0.61.2",
+]
+
[[package]]
name = "git"
version = "0.1.0"
@@ -7315,6 +7348,50 @@ dependencies = [
"xml-rs",
]
+[[package]]
+name = "glib"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b"
+dependencies = [
+ "bitflags 2.10.0",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "memchr",
+ "smallvec",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17"
+dependencies = [
+ "heck 0.5.0",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "glib-sys"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c"
+dependencies = [
+ "libc",
+ "system-deps 7.0.7",
+]
+
[[package]]
name = "glob"
version = "0.3.3"
@@ -7390,6 +7467,17 @@ dependencies = [
"workspace",
]
+[[package]]
+name = "gobject-sys"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps 7.0.7",
+]
+
[[package]]
name = "goblin"
version = "0.8.2"
@@ -9607,10 +9695,11 @@ dependencies = [
[[package]]
name = "libwebrtc"
-version = "0.3.10"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.3.26"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
"cxx",
+ "glib",
"jni",
"js-sys",
"lazy_static",
@@ -9704,9 +9793,12 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
[[package]]
name = "livekit"
-version = "0.7.8"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.7.32"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
+ "base64 0.22.1",
+ "bmrng",
+ "bytes 1.11.1",
"chrono",
"futures-util",
"lazy_static",
@@ -9727,11 +9819,12 @@ dependencies = [
[[package]]
name = "livekit-api"
-version = "0.4.2"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.4.14"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
+ "base64 0.21.7",
"futures-util",
- "http 0.2.12",
+ "http 1.3.1",
"livekit-protocol",
"livekit-runtime",
"log",
@@ -9739,20 +9832,22 @@ dependencies = [
"pbjson-types",
"prost 0.12.6",
"rand 0.9.2",
- "reqwest 0.11.27",
+ "reqwest 0.12.24",
+ "rustls-native-certs 0.6.3",
"scopeguard",
"serde",
"sha2",
"thiserror 1.0.69",
"tokio",
- "tokio-tungstenite 0.26.2",
+ "tokio-rustls 0.26.2",
+ "tokio-tungstenite 0.28.0",
"url",
]
[[package]]
name = "livekit-protocol"
-version = "0.3.9"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.7.1"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
"futures-util",
"livekit-runtime",
@@ -9760,7 +9855,6 @@ dependencies = [
"pbjson",
"pbjson-types",
"prost 0.12.6",
- "prost-types 0.12.6",
"serde",
"thiserror 1.0.69",
"tokio",
@@ -9769,7 +9863,7 @@ dependencies = [
[[package]]
name = "livekit-runtime"
version = "0.4.0"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
"tokio",
"tokio-stream",
@@ -9825,7 +9919,6 @@ dependencies = [
"sha2",
"simplelog",
"smallvec",
- "tokio-tungstenite 0.26.2",
"ui",
"util",
"zed-scap",
@@ -10586,12 +10679,6 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
-[[package]]
-name = "multimap"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084"
-
[[package]]
name = "naga"
version = "28.0.0"
@@ -13165,7 +13252,7 @@ dependencies = [
"itertools 0.10.5",
"lazy_static",
"log",
- "multimap 0.8.3",
+ "multimap",
"petgraph",
"prost 0.9.0",
"prost-types 0.9.0",
@@ -13184,7 +13271,7 @@ dependencies = [
"heck 0.5.0",
"itertools 0.12.1",
"log",
- "multimap 0.10.1",
+ "multimap",
"once_cell",
"petgraph",
"prettyplease",
@@ -13670,7 +13757,7 @@ dependencies = [
"rand 0.8.5",
"rand_chacha 0.3.1",
"simd_helpers",
- "system-deps",
+ "system-deps 6.2.2",
"thiserror 1.0.69",
"v_frame",
"wasm-bindgen",
@@ -14181,7 +14268,6 @@ dependencies = [
"http 0.2.12",
"http-body 0.4.6",
"hyper 0.14.32",
- "hyper-rustls 0.24.2",
"hyper-tls",
"ipnet",
"js-sys",
@@ -14191,8 +14277,6 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
- "rustls 0.21.12",
- "rustls-native-certs 0.6.3",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -14201,7 +14285,6 @@ dependencies = [
"system-configuration 0.5.1",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.24.1",
"tower-service",
"url",
"wasm-bindgen",
@@ -14225,16 +14308,22 @@ dependencies = [
"http-body 1.0.1",
"http-body-util",
"hyper 1.7.0",
+ "hyper-rustls 0.27.7",
"hyper-util",
"js-sys",
"log",
"percent-encoding",
"pin-project-lite",
+ "quinn",
+ "rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
+ "rustls-pki-types",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 1.0.2",
"tokio",
+ "tokio-rustls 0.26.2",
"tower 0.5.2",
"tower-http 0.6.6",
"tower-service",
@@ -16910,13 +16999,26 @@ version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
dependencies = [
- "cfg-expr",
+ "cfg-expr 0.15.8",
"heck 0.5.0",
"pkg-config",
"toml 0.8.23",
"version-compare",
]
+[[package]]
+name = "system-deps"
+version = "7.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f"
+dependencies = [
+ "cfg-expr 0.20.6",
+ "heck 0.5.0",
+ "pkg-config",
+ "toml 0.9.8",
+ "version-compare",
+]
+
[[package]]
name = "system-interface"
version = "0.27.3"
@@ -17668,17 +17770,18 @@ dependencies = [
[[package]]
name = "tokio-tungstenite"
-version = "0.26.2"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084"
+checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
dependencies = [
"futures-util",
"log",
"rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.2",
- "tungstenite 0.26.2",
+ "tungstenite 0.28.0",
]
[[package]]
@@ -18334,9 +18437,9 @@ dependencies = [
[[package]]
name = "tungstenite"
-version = "0.26.2"
+version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13"
+checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d"
dependencies = [
"bytes 1.11.1",
"data-encoding",
@@ -18353,9 +18456,9 @@ dependencies = [
[[package]]
name = "tungstenite"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d"
+checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442"
dependencies = [
"bytes 1.11.1",
"data-encoding",
@@ -19776,25 +19879,27 @@ dependencies = [
[[package]]
name = "webrtc-sys"
-version = "0.3.7"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.3.23"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
"cc",
"cxx",
"cxx-build",
"glob",
"log",
+ "pkg-config",
"webrtc-sys-build",
]
[[package]]
name = "webrtc-sys-build"
-version = "0.3.6"
-source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d"
+version = "0.3.13"
+source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=9c38d9a0a91951967f8fa84ed86e193626436774#9c38d9a0a91951967f8fa84ed86e193626436774"
dependencies = [
+ "anyhow",
"fs2",
"regex",
- "reqwest 0.11.27",
+ "reqwest 0.12.24",
"scratch",
"semver",
"zip 0.6.6",
@@ -1,5 +1,5 @@
use gh_workflow::{
- Concurrency, Container, Event, Expression, Job, Port, PullRequest, Push, Run, Step, Use,
+ Concurrency, Container, Env, Event, Expression, Job, Port, PullRequest, Push, Run, Step, Use,
Workflow,
};
use indexmap::IndexMap;
@@ -15,6 +15,11 @@ use super::{
steps::{self, FluentBuilder, NamedJob, named, release_job},
};
+fn use_clang(job: Job) -> Job {
+ job.add_env(Env::new("CC", "clang"))
+ .add_env(Env::new("CXX", "clang++"))
+}
+
pub(crate) fn run_tests() -> Workflow {
// Specify anything which should potentially skip full test suite in this regex:
// - docs/
@@ -354,7 +359,7 @@ fn check_dependencies() -> NamedJob {
.with(("license-check", false))
}
- named::job(
+ named::job(use_clang(
release_job(&[])
.runs_on(runners::LINUX_SMALL)
.add_step(steps::checkout_repo())
@@ -363,7 +368,7 @@ fn check_dependencies() -> NamedJob {
.add_step(run_cargo_machete())
.add_step(check_cargo_lock())
.add_step(check_vulnerable_dependencies()),
- )
+ ))
}
fn check_wasm() -> NamedJob {
@@ -399,7 +404,7 @@ fn check_wasm() -> NamedJob {
}
fn check_workspace_binaries() -> NamedJob {
- named::job(
+ named::job(use_clang(
release_job(&[])
.runs_on(runners::LINUX_LARGE)
.add_step(steps::checkout_repo())
@@ -411,7 +416,7 @@ fn check_workspace_binaries() -> NamedJob {
.add_step(steps::script("cargo build --workspace --bins --examples"))
.add_step(steps::show_sccache_stats(Platform::Linux))
.add_step(steps::cleanup_cargo_config(Platform::Linux)),
- )
+ ))
}
pub(crate) fn clippy(platform: Platform) -> NamedJob {
@@ -420,23 +425,27 @@ pub(crate) fn clippy(platform: Platform) -> NamedJob {
Platform::Linux => runners::LINUX_DEFAULT,
Platform::Mac => runners::MAC_DEFAULT,
};
+ let mut job = release_job(&[])
+ .runs_on(runner)
+ .add_step(steps::checkout_repo())
+ .add_step(steps::setup_cargo_config(platform))
+ .when(
+ platform == Platform::Linux || platform == Platform::Mac,
+ |this| this.add_step(steps::cache_rust_dependencies_namespace()),
+ )
+ .when(
+ platform == Platform::Linux,
+ steps::install_linux_dependencies,
+ )
+ .add_step(steps::setup_sccache(platform))
+ .add_step(steps::clippy(platform))
+ .add_step(steps::show_sccache_stats(platform));
+ if platform == Platform::Linux {
+ job = use_clang(job);
+ }
NamedJob {
name: format!("clippy_{platform}"),
- job: release_job(&[])
- .runs_on(runner)
- .add_step(steps::checkout_repo())
- .add_step(steps::setup_cargo_config(platform))
- .when(
- platform == Platform::Linux || platform == Platform::Mac,
- |this| this.add_step(steps::cache_rust_dependencies_namespace()),
- )
- .when(
- platform == Platform::Linux,
- steps::install_linux_dependencies,
- )
- .add_step(steps::setup_sccache(platform))
- .add_step(steps::clippy(platform))
- .add_step(steps::show_sccache_stats(platform)),
+ job,
}
}
@@ -474,10 +483,12 @@ fn run_platform_tests_impl(platform: Platform, filter_packages: bool) -> NamedJo
})
.add_step(steps::checkout_repo())
.add_step(steps::setup_cargo_config(platform))
- .when(
- platform == Platform::Linux || platform == Platform::Mac,
- |this| this.add_step(steps::cache_rust_dependencies_namespace()),
- )
+ .when(platform == Platform::Mac, |this| {
+ this.add_step(steps::cache_rust_dependencies_namespace())
+ })
+ .when(platform == Platform::Linux, |this| {
+ use_clang(this.add_step(steps::cache_rust_dependencies_namespace()))
+ })
.when(
platform == Platform::Linux,
steps::install_linux_dependencies,
@@ -549,7 +560,7 @@ fn doctests() -> NamedJob {
.id("run_doctests")
}
- named::job(
+ named::job(use_clang(
release_job(&[])
.runs_on(runners::LINUX_DEFAULT)
.add_step(steps::checkout_repo())
@@ -560,7 +571,7 @@ fn doctests() -> NamedJob {
.add_step(run_doctests())
.add_step(steps::show_sccache_stats(Platform::Linux))
.add_step(steps::cleanup_cargo_config(Platform::Linux)),
- )
+ ))
}
fn check_licenses() -> NamedJob {
@@ -602,7 +613,7 @@ fn check_docs() -> NamedJob {
"#})
}
- named::job(
+ named::job(use_clang(
release_job(&[])
.runs_on(runners::LINUX_LARGE)
.add_step(steps::checkout_repo())
@@ -619,7 +630,7 @@ fn check_docs() -> NamedJob {
.add_step(
lychee_link_check("target/deploy/docs"), // check links in generated html
),
- )
+ ))
}
pub(crate) fn check_scripts() -> NamedJob {