From 6621e76a337636f2288e8e73958e4ea1dbe10ea2 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Fri, 26 Apr 2024 10:03:13 +0200 Subject: [PATCH 1/4] chore: bump py-rattler 0.5.0 --- py-rattler/Cargo.toml | 2 +- py-rattler/pixi.toml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/py-rattler/Cargo.toml b/py-rattler/Cargo.toml index b0d1d7841..42f11845d 100644 --- a/py-rattler/Cargo.toml +++ b/py-rattler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "py-rattler" -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "BSD-3-Clause" publish = false diff --git a/py-rattler/pixi.toml b/py-rattler/pixi.toml index 11e27fa09..b6945b1a0 100644 --- a/py-rattler/pixi.toml +++ b/py-rattler/pixi.toml @@ -1,6 +1,5 @@ [project] name = "py-rattler" -version = "0.4.0" description = "Add a short description here" authors = [ "Bas Zalmstra ", From 9b236246530d7bcec0d498fc634570a1ce27c506 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Fri, 26 Apr 2024 10:10:08 +0200 Subject: [PATCH 2/4] fix: add urls to the project --- py-rattler/pyproject.toml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/py-rattler/pyproject.toml b/py-rattler/pyproject.toml index 1dbafa0f3..67591fe6d 100644 --- a/py-rattler/pyproject.toml +++ b/py-rattler/pyproject.toml @@ -21,7 +21,12 @@ classifiers = [ "Typing :: Typed", ] license = "BSD-3-Clause" -documentation = "https://mamba-org.github.io/rattler/py-rattler/" + +[project.urls] +Homepage = "https://github.com/mamba-org/rattler" +Documentation = "https://mamba-org.github.io/rattler/py-rattler/" +Repository = "https://github.com/mamba-org/rattler" +Issues = "https://github.com/mamba-org/rattler/labels/python-bindings" [tool.maturin] features = ["pyo3/extension-module"] From b7342f185c3216ff01d842ade2437e369a15d705 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Fri, 26 Apr 2024 10:34:43 +0200 Subject: [PATCH 3/4] fix: make google-cloud-auth actually optional --- crates/rattler_networking/Cargo.toml | 5 +- crates/rattler_networking/src/lib.rs | 4 +- py-rattler/Cargo.lock | 407 ++++++++++++++++++++++++--- 3 files changed, 372 insertions(+), 44 deletions(-) diff --git a/crates/rattler_networking/Cargo.toml b/crates/rattler_networking/Cargo.toml index 760f85651..670e795bb 100644 --- a/crates/rattler_networking/Cargo.toml +++ b/crates/rattler_networking/Cargo.toml @@ -12,9 +12,8 @@ readme.workspace = true [features] default = ["native-tls"] -native-tls = ['reqwest/native-tls', "google-cloud-auth/default-tls"] -rustls-tls = ['reqwest/rustls-tls', "google-cloud-auth/rustls-tls"] -gcs = ["google-cloud-auth"] +native-tls = ['reqwest/native-tls', "google-cloud-auth?/default-tls"] +rustls-tls = ['reqwest/rustls-tls', "google-cloud-auth?/rustls-tls"] [dependencies] anyhow = { workspace = true } diff --git a/crates/rattler_networking/src/lib.rs b/crates/rattler_networking/src/lib.rs index 333dd11f2..822c35384 100644 --- a/crates/rattler_networking/src/lib.rs +++ b/crates/rattler_networking/src/lib.rs @@ -6,9 +6,9 @@ pub use authentication_storage::{authentication::Authentication, storage::Authen pub use mirror_middleware::MirrorMiddleware; pub use oci_middleware::OciMiddleware; -#[cfg(feature = "gcs")] +#[cfg(feature = "google-cloud-auth")] pub mod gcs_middleware; -#[cfg(feature = "gcs")] +#[cfg(feature = "google-cloud-auth")] pub use gcs_middleware::GCSMiddleware; pub mod authentication_middleware; diff --git a/py-rattler/Cargo.lock b/py-rattler/Cargo.lock index 3452d6e56..b76a585a3 100644 --- a/py-rattler/Cargo.lock +++ b/py-rattler/Cargo.lock @@ -624,6 +624,15 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + [[package]] name = "enum-as-inner" version = "0.6.0" @@ -1003,6 +1012,67 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "google-cloud-auth" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf7cb7864f08a92e77c26bb230d021ea57691788fb5dd51793f96965d19e7f9" +dependencies = [ + "async-trait", + "base64 0.21.7", + "google-cloud-metadata", + "google-cloud-token", + "home", + "jsonwebtoken", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "time", + "tokio", + "tracing", + "urlencoding", +] + +[[package]] +name = "google-cloud-metadata" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc279bfb50487d7bcd900e8688406475fc750fe474a835b2ab9ade9eb1fc90e2" +dependencies = [ + "reqwest 0.11.27", + "thiserror", + "tokio", +] + +[[package]] +name = "google-cloud-token" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +dependencies = [ + "async-trait", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1054,6 +1124,26 @@ dependencies = [ "digest", ] +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http" version = "1.1.0" @@ -1065,6 +1155,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + [[package]] name = "http-body" version = "1.0.0" @@ -1072,7 +1173,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ "bytes", - "http", + "http 1.1.0", ] [[package]] @@ -1083,8 +1184,8 @@ checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" dependencies = [ "bytes", "futures-core", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.0", "pin-project-lite", ] @@ -1094,6 +1195,12 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "humansize" version = "2.1.3" @@ -1109,6 +1216,30 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.10", + "tokio", + "tower-service", + "tracing", + "want", +] + [[package]] name = "hyper" version = "1.3.1" @@ -1118,8 +1249,8 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.0", "httparse", "itoa", "pin-project-lite", @@ -1128,6 +1259,20 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.28", + "rustls 0.21.11", + "tokio", + "tokio-rustls 0.24.1", +] + [[package]] name = "hyper-rustls" version = "0.26.0" @@ -1135,16 +1280,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" dependencies = [ "futures-util", - "http", - "hyper", + "http 1.1.0", + "hyper 1.3.1", "hyper-util", - "rustls", + "rustls 0.22.3", "rustls-pki-types", "tokio", - "tokio-rustls", + "tokio-rustls 0.25.0", "tower-service", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -1153,7 +1311,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper", + "hyper 1.3.1", "hyper-util", "native-tls", "tokio", @@ -1170,9 +1328,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http", - "http-body", - "hyper", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", "pin-project-lite", "socket2 0.5.6", "tokio", @@ -1325,6 +1483,21 @@ dependencies = [ "treediff", ] +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "keyring" version = "2.3.2" @@ -1805,6 +1978,16 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.0", + "serde", +] + [[package]] name = "pep440_rs" version = "0.5.0" @@ -2054,7 +2237,7 @@ dependencies = [ [[package]] name = "py-rattler" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anyhow", "futures", @@ -2074,7 +2257,7 @@ dependencies = [ "rattler_shell", "rattler_solve", "rattler_virtual_packages", - "reqwest", + "reqwest 0.12.3", "reqwest-middleware", "thiserror", "tokio", @@ -2224,7 +2407,7 @@ dependencies = [ [[package]] name = "rattler" -version = "0.23.0" +version = "0.23.1" dependencies = [ "anyhow", "bytes", @@ -2246,7 +2429,7 @@ dependencies = [ "rattler_shell", "reflink-copy", "regex", - "reqwest", + "reqwest 0.12.3", "reqwest-middleware", "smallvec", "tempfile", @@ -2343,7 +2526,7 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.20.2" +version = "0.20.3" dependencies = [ "anyhow", "async-trait", @@ -2352,11 +2535,12 @@ dependencies = [ "dirs", "fslock", "getrandom", - "http", + "google-cloud-auth", + "http 1.1.0", "itertools", "keyring", "netrc-rs", - "reqwest", + "reqwest 0.12.3", "reqwest-middleware", "retry-policies", "serde", @@ -2368,7 +2552,7 @@ dependencies = [ [[package]] name = "rattler_package_streaming" -version = "0.20.5" +version = "0.20.6" dependencies = [ "bzip2", "chrono", @@ -2377,7 +2561,7 @@ dependencies = [ "rattler_conda_types", "rattler_digest", "rattler_networking", - "reqwest", + "reqwest 0.12.3", "reqwest-middleware", "serde_json", "tar", @@ -2392,7 +2576,7 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" -version = "0.19.8" +version = "0.19.9" dependencies = [ "anyhow", "async-compression", @@ -2412,7 +2596,7 @@ dependencies = [ "rattler_conda_types", "rattler_digest", "rattler_networking", - "reqwest", + "reqwest 0.12.3", "reqwest-middleware", "serde", "serde_json", @@ -2444,7 +2628,7 @@ dependencies = [ [[package]] name = "rattler_solve" -version = "0.20.7" +version = "0.21.0" dependencies = [ "chrono", "futures", @@ -2534,6 +2718,50 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.28", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.11", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.24.1", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.4", + "winreg 0.50.0", +] + [[package]] name = "reqwest" version = "0.12.3" @@ -2545,12 +2773,12 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.0", "http-body-util", - "hyper", - "hyper-rustls", - "hyper-tls", + "hyper 1.3.1", + "hyper-rustls 0.26.0", + "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", @@ -2560,8 +2788,8 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls", - "rustls-pemfile", + "rustls 0.22.3", + "rustls-pemfile 2.1.2", "rustls-pki-types", "serde", "serde_json", @@ -2569,7 +2797,7 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-native-tls", - "tokio-rustls", + "tokio-rustls 0.25.0", "tokio-util", "tower-service", "url", @@ -2577,8 +2805,8 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", - "winreg", + "webpki-roots 0.26.1", + "winreg 0.52.0", ] [[package]] @@ -2589,8 +2817,8 @@ checksum = "0209efb52486ad88136190094ee214759ef7507068b27992256ed6610eb71a01" dependencies = [ "anyhow", "async-trait", - "http", - "reqwest", + "http 1.1.0", + "reqwest 0.12.3", "serde", "thiserror", "tower-service", @@ -2670,6 +2898,18 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.21.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" +dependencies = [ + "log", + "ring", + "rustls-webpki 0.101.7", + "sct", +] + [[package]] name = "rustls" version = "0.22.3" @@ -2679,11 +2919,20 @@ dependencies = [ "log", "ring", "rustls-pki-types", - "rustls-webpki", + "rustls-webpki 0.102.2", "subtle", "zeroize", ] +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + [[package]] name = "rustls-pemfile" version = "2.1.2" @@ -2700,6 +2949,16 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "rustls-webpki" version = "0.102.2" @@ -2753,6 +3012,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "secret-service" version = "3.0.1" @@ -2930,6 +3199,18 @@ dependencies = [ "libc", ] +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -3085,6 +3366,27 @@ dependencies = [ "walkdir", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -3197,6 +3499,7 @@ dependencies = [ "libc", "mio", "num_cpus", + "parking_lot", "pin-project-lite", "socket2 0.5.6", "tokio-macros", @@ -3224,13 +3527,23 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.11", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ - "rustls", + "rustls 0.22.3", "rustls-pki-types", "tokio", ] @@ -3590,6 +3903,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + [[package]] name = "webpki-roots" version = "0.26.1" @@ -3840,6 +4159,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "winreg" version = "0.52.0" From f9621ba94002cbe0c07b1ccf38fb9e6237d190e4 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Fri, 26 Apr 2024 10:40:19 +0200 Subject: [PATCH 4/4] fix: make macos-x86_64 run on x86 hardware --- .github/workflows/release-python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index b9b38736e..1105192b2 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -329,7 +329,7 @@ jobs: path: py-rattler/dist macos-x86_64: - runs-on: macos-latest + runs-on: macos-13 # x86_64 runner name: Build x86_64-macos steps: - uses: actions/checkout@v4