Skip to content

Commit 65b017d

Browse files
authored
feat: adding standard engine version handling (#2137)
1 parent 71d75e7 commit 65b017d

38 files changed

Lines changed: 5925 additions & 4018 deletions

File tree

Cargo.Bazel.lock

Lines changed: 4550 additions & 3206 deletions
Large diffs are not rendered by default.

Cargo.lock

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

Cargo.toml

Lines changed: 79 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -87,61 +87,72 @@ futures-util = "0.3.31"
8787
hex = "0.4.3"
8888
humantime = "2.2.0"
8989
humantime-serde = "1.1.1"
90-
ic-agent = "0.39.3"
91-
octocrab = "0.41.2"
90+
ic-agent = "0.49.1"
91+
# Disable default features to drop `rustls-ring`; use the aws-lc-rs provider
92+
# instead so the whole workspace standardizes on a single rustls CryptoProvider
93+
# (matching the ic repo). All other default features are re-enabled explicitly.
94+
octocrab = { version = "0.41.2", default-features = false, features = [
95+
"follow-redirect",
96+
"retry",
97+
"rustls",
98+
"rustls-aws-lc-rs",
99+
"timeout",
100+
"tracing",
101+
"default-client",
102+
] }
92103
self_update = { version = "0.41.0", default-features = false, features = [
93104
"archive-tar",
94105
"rustls",
95106
] }
96-
ic-base-types = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
97-
ic-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
98-
ic-canister-client-sender = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
107+
ic-base-types = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
108+
ic-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
109+
ic-canister-client-sender = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
99110
ic-canisters = { path = "rs/ic-canisters" }
100-
ic-http-types = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
101-
ic-config = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
102-
ic-crypto-utils-threshold-sig-der = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
103-
ic-dummy-getrandom-for-wasm = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
104-
ic-http-endpoints-metrics = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
105-
ic-interfaces-registry = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
111+
ic-http-types = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
112+
ic-config = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
113+
ic-crypto-utils-threshold-sig-der = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
114+
ic-dummy-getrandom-for-wasm = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
115+
ic-http-endpoints-metrics = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
116+
ic-interfaces-registry = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
106117
ic-management-backend = { path = "rs/ic-management-backend" }
107-
ic-management-canister-types-private = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
118+
ic-management-canister-types-private = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
108119
ic-management-types = { path = "rs/ic-management-types" }
109-
ic-metrics = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
110-
ic-nervous-system-canisters = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
111-
ic-nervous-system-common = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
112-
ic-nervous-system-runtime = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
113-
ic-nns-common = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
114-
ic-nns-constants = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
115-
ic-nns-governance = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
116-
ic-nns-governance-api = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
117-
ic-protobuf = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
118-
ic-registry-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
119-
ic-registry-canister-api = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
120-
ic-registry-client = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
121-
ic-registry-client-fake = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
122-
ic-registry-client-helpers = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
123-
ic-registry-common-proto = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
124-
ic-registry-keys = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
125-
ic-registry-local-registry = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
126-
ic-registry-local-store = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
127-
ic-registry-local-store-artifacts = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
128-
ic-registry-nns-data-provider = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
129-
ic-registry-subnet-type = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
130-
ic-registry-transport = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
131-
ic-sys = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
132-
ic-types = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
133-
ic-nervous-system-root = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
134-
ic-nervous-system-clients = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
135-
ic-nervous-system-proto = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
136-
ic-sns-wasm = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
137-
cycles-minting-canister = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
138-
ic-icrc1-test-utils = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
139-
rosetta-core = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
140-
icp-ledger = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
141-
icrc-ledger-types = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
120+
ic-metrics = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
121+
ic-nervous-system-canisters = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
122+
ic-nervous-system-common = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
123+
ic-nervous-system-runtime = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
124+
ic-nns-common = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
125+
ic-nns-constants = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
126+
ic-nns-governance = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
127+
ic-nns-governance-api = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
128+
ic-protobuf = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
129+
ic-registry-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
130+
ic-registry-canister-api = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
131+
ic-registry-client = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
132+
ic-registry-client-fake = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
133+
ic-registry-client-helpers = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
134+
ic-registry-common-proto = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
135+
ic-registry-keys = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
136+
ic-registry-local-registry = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
137+
ic-registry-local-store = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
138+
ic-registry-local-store-artifacts = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
139+
ic-registry-nns-data-provider = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
140+
ic-registry-subnet-type = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
141+
ic-registry-transport = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
142+
ic-sys = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
143+
ic-types = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
144+
ic-nervous-system-root = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
145+
ic-nervous-system-clients = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
146+
ic-nervous-system-proto = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
147+
ic-sns-wasm = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
148+
cycles-minting-canister = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
149+
ic-icrc1-test-utils = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
150+
rosetta-core = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
151+
icp-ledger = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
152+
icrc-ledger-types = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
142153
ic-metrics-encoder = "1.1.1"
143-
ic-transport-types = "0.39.3"
144-
ic-utils = "0.39.3"
154+
ic-transport-types = "0.49.1"
155+
ic-utils = { version = "0.49.1", features = ["raw"] }
145156
itertools = "0.13.0"
146157
keyring = { version = "3.6.3", features = [
147158
"apple-native",
@@ -156,19 +167,30 @@ opentelemetry_sdk = "0.29"
156167
opentelemetry-prometheus = "0.29.1"
157168
pretty_assertions = "1.4.1"
158169
pretty_env_logger = "0.5.0"
159-
prometheus-http-query = { version = "0.8.3", default-features = false, features = [
160-
"rustls-tls-webpki-roots",
161-
] }
170+
# TLS is provided by the workspace `reqwest` dependency configured with
171+
# `rustls-tls-webpki-roots-no-provider` (aws-lc-rs provider). Don't enable a
172+
# rustls feature here, since prometheus-http-query only exposes the `ring`-based
173+
# variant which would reintroduce the dual-provider ambiguity.
174+
prometheus-http-query = { version = "0.8.3", default-features = false }
162175
prometheus = { version = "0.14.0", features = ["process"] }
163-
prost = "0.13"
176+
prost = "0.14.3"
164177
rand = { version = "0.9.2", features = ["std_rng"] }
165178
rand_seeder = "0.3.0"
166179
regex = "1.11.2"
167-
registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
180+
registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
168181
reqwest = { version = "0.12", default-features = false, features = [
169-
"rustls-tls-webpki-roots",
182+
# Use the "-no-provider" variant so reqwest does not force the `ring`
183+
# rustls CryptoProvider. We standardize on `aws-lc-rs` (matching the ic
184+
# repo) and install it as the process-level default at startup.
185+
"rustls-tls-webpki-roots-no-provider",
170186
"blocking",
171187
] }
188+
# Match the ic repo: standardize the rustls CryptoProvider on `aws-lc-rs`.
189+
rustls = { version = "0.23", default-features = false, features = [
190+
"aws_lc_rs",
191+
"std",
192+
"tls12",
193+
] }
172194
retry = "2.1.0"
173195
rstest = { version = "0.23.0", default-features = false }
174196
rust_decimal = "1.37.2"
@@ -210,15 +232,15 @@ ic-cdk = { version = "^0.18.7" }
210232
ic-cdk-timers = { version = "^0.12.2" }
211233
ic-cdk-macros = { version = "^0.18.7" }
212234
ic-stable-structures = "0.6.9"
213-
dfn_core = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
214-
rewards-calculation = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
215-
ic-node-rewards-canister-api = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
235+
dfn_core = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
236+
rewards-calculation = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
237+
ic-node-rewards-canister-api = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
216238

217239
# dre-airflow deps, should be replaced with dre-airflow once
218240
indexmap = { version = "2.11.1", features = ["serde"] }
219241

220242
[patch.crates-io]
221-
ic-error-types = { git = "https://github.com/dfinity/ic.git", rev = "abf88f2283940c12b2974b0fd19ceb2bf485ef8f" }
243+
ic-error-types = { git = "https://github.com/dfinity/ic.git", rev = "98ed17c502df46abd46d2dabe1f4332232855901" }
222244

223245
[profile.release]
224246
# Add debug information to the release build (does NOT reduce the level of optimization!)

rs/canister-log-fetcher/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ license = { workspace = true }
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
rustls = { workspace = true }
1011
clap = { workspace = true }
1112
reqwest = { workspace = true }
1213
url = { workspace = true }

rs/canister-log-fetcher/src/main.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ mod entry;
1818
#[allow(clippy::iter_skip_zero)]
1919
#[tokio::main]
2020
async fn main() -> Result<(), anyhow::Error> {
21+
// Standardize the process-level rustls CryptoProvider on aws-lc-rs (matching
22+
// the ic repo). Without this, rustls panics when multiple providers are enabled.
23+
let _ = rustls::crypto::aws_lc_rs::default_provider().install_default();
24+
2125
let args = Cli::parse();
2226
init_logger(args.name.clone());
2327

rs/cli/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ regex = { workspace = true }
7474
registry-canister = { workspace = true }
7575
reqwest = { workspace = true }
7676
rosetta-core.workspace = true
77+
rustls = { workspace = true }
7778
self_update = { workspace = true }
7879
serde = { workspace = true }
7980
serde_json = { workspace = true }

0 commit comments

Comments
 (0)