From 4da715cc685603be26110fd7cd3cf59e419bd165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Casta=C3=B1o=20Arteaga?= Date: Thu, 7 Nov 2024 14:16:26 +0100 Subject: [PATCH] Upgrade CLI dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sergio Castaño Arteaga --- Cargo.lock | 167 +++++++++++++----------------------- Cargo.toml | 18 ++-- crates/cli/src/build/mod.rs | 36 ++++---- 3 files changed, 92 insertions(+), 129 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3d5a17bf..24231aa9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "arrayref" @@ -231,9 +231,9 @@ checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "aws-config" -version = "1.5.9" +version = "1.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6448cfb224dd6a9b9ac734f58622dd0d4751f3589f3b777345745f46b2eb14" +checksum = "9b49afaa341e8dd8577e1a2200468f98956d6eda50bcf4a53246cc00174ba924" dependencies = [ "aws-credential-types", "aws-runtime", @@ -299,11 +299,10 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.57.0" +version = "1.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8888c238bf93c77c5df8274b3999fd7fc1bb3fb658616f40dfde9e4fcd9efd94" +checksum = "0506cc60e392e33712d47717d5ae5760a3b134bf8ee7aea7e43df3d7e2669ae0" dependencies = [ - "ahash", "aws-credential-types", "aws-runtime", "aws-sigv4", @@ -334,9 +333,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.47.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8776850becacbd3a82a4737a9375ddb5c6832a51379f24443a98e61513f852c" +checksum = "09677244a9da92172c8dc60109b4a9658597d4d298b188dd0018b6a66b410ca4" dependencies = [ "aws-credential-types", "aws-runtime", @@ -356,9 +355,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.48.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0007b5b8004547133319b6c4e87193eee2a0bcb3e4c18c75d09febe9dab7b383" +checksum = "81fea2f3a8bb3bd10932ae7ad59cc59f65f270fc9183a7e91f501dc5efbef7ee" dependencies = [ "aws-credential-types", "aws-runtime", @@ -378,9 +377,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.47.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fffaa356e7f1c725908b75136d53207fa714e348f365671df14e95a60530ad3" +checksum = "53dcf5e7d9bd1517b8b998e170e650047cea8a2b85fe1835abe3210713e541b7" dependencies = [ "aws-credential-types", "aws-runtime", @@ -401,9 +400,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" +checksum = "5619742a0d8f253be760bfbb8e8e8368c69e3587e4637af5754e488a611499b1" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", @@ -441,9 +440,9 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.60.12" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" +checksum = "ba1a71073fca26775c8b5189175ea8863afb1c9ea2cceb02a5de5ad9dfbaa795" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -540,9 +539,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" +checksum = "92165296a47a812b267b4f41032ff8069ab7ff783696d217f0994a0d7ab585cd" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -557,9 +556,9 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.8" +version = "1.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c9cdc179e6afbf5d391ab08c85eac817b51c87e1892a5edb5f7bbdc64314b4" +checksum = "4fbd94a32b3a7d55d3806fe27d98d3ad393050439dd05eb53ece36ec5e3d3510" dependencies = [ "base64-simd", "bytes", @@ -783,9 +782,9 @@ dependencies = [ [[package]] name = "cached" -version = "0.53.1" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d73155ae6b28cf5de4cfc29aeb02b8a1c6dab883cb015d15cd514e42766846" +checksum = "9718806c4a2fe9e8a56fd736f97b340dd10ed1be8ed733ed50449f351dc33cae" dependencies = [ "async-trait", "cached_proc_macro", @@ -804,7 +803,7 @@ version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f42a145ed2d10dce2191e1dcf30cfccfea9026660e143662ba5eec4017d5daa" dependencies = [ - "darling 0.20.8", + "darling", "proc-macro2", "quote", "syn 2.0.85", @@ -862,7 +861,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim", ] [[package]] @@ -1009,70 +1008,35 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - -[[package]] -name = "darling" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.8", - "darling_macro 0.20.8", + "darling_core", + "darling_macro", ] [[package]] name = "darling_core" -version = "0.14.4" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", + "strsim", "syn 2.0.85", ] [[package]] name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core 0.14.4", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.8", + "darling_core", "quote", "syn 2.0.85", ] @@ -1127,33 +1091,33 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.14.4", + "darling", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.85", ] [[package]] name = "derive_builder_macro" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 1.0.109", + "syn 2.0.85", ] [[package]] @@ -1593,12 +1557,13 @@ dependencies = [ [[package]] name = "headless_chrome" -version = "1.0.8" -source = "git+https://github.com/rust-headless-chrome/rust-headless-chrome?rev=973ebea#973ebea000fdc4709872490b680306bcf73a606a" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff091d678f38868547c5ee26b5c4105a03ec2a2099463ebc48c4d5ccf239036" dependencies = [ "anyhow", "auto_generate_cdp", - "base64 0.21.7", + "base64 0.22.1", "derive_builder", "log", "rand", @@ -1609,7 +1574,7 @@ dependencies = [ "thiserror", "tungstenite", "url", - "which 5.0.0", + "which 6.0.3", "winreg 0.52.0", ] @@ -2169,7 +2134,7 @@ dependencies = [ "url", "usvg", "walkdir", - "which 6.0.3", + "which 7.0.0", ] [[package]] @@ -3709,15 +3674,9 @@ dependencies = [ [[package]] name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" @@ -3951,9 +3910,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -4057,9 +4016,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.5.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97" dependencies = [ "bitflags 2.5.0", "bytes", @@ -4164,9 +4123,9 @@ checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] name = "tungstenite" -version = "0.21.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" dependencies = [ "byteorder", "bytes", @@ -4177,7 +4136,6 @@ dependencies = [ "rand", "sha1", "thiserror", - "url", "utf-8", ] @@ -4551,22 +4509,21 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "which" -version = "5.0.0" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" dependencies = [ "either", "home", - "once_cell", "rustix", - "windows-sys 0.48.0", + "winsafe", ] [[package]] name = "which" -version = "6.0.3" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" +checksum = "c9cad3279ade7346b96e38731a641d7343dd6a53d55083dd54eadfa5a1b38c6b" dependencies = [ "either", "home", diff --git a/Cargo.toml b/Cargo.toml index 67ff5eb0..401a1b48 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,15 +16,15 @@ authors = ["Sergio Castaño Arteaga", "Cintia Sanchez Garcia"] homepage = "https://github.com/cncf/landscape2" [workspace.dependencies] -anyhow = "1.0.92" +anyhow = "1.0.93" askama = { version = "0.12.1", features = ["serde-json"] } askama_escape = { version = "0.10.3", features = ["json"] } async-trait = "0.1.83" -aws-config = "1.5.9" -aws-sdk-s3 = "1.57.0" +aws-config = "1.5.10" +aws-sdk-s3 = "1.60.0" axum = "0.7.7" base64 = "0.22.1" -cached = { version = "0.53.1", default-features = false, features = ["async", "proc_macro"] } +cached = { version = "0.54.0", default-features = false, features = ["async", "proc_macro"] } chrono = { version = "0.4.38", features = ["serde"] } clap = { version = "4.5.20", features = ["derive"] } csv = "1.3.0" @@ -33,7 +33,7 @@ dirs = "5.0.1" futures = "0.3.31" gloo-console = "0.3.0" gloo-net = { version = "0.6.0", default-features = false, features = ["http", "json"] } -headless_chrome = { git = "https://github.com/rust-headless-chrome/rust-headless-chrome", rev = "973ebea" } +headless_chrome = "1.0.15" hex = "0.4.3" imagesize = "0.13.0" itertools = "0.13.0" @@ -60,7 +60,7 @@ serde_json = "1.0.132" serde-wasm-bindgen = "0.6.5" serde_yaml = "0.9.34" sha2 = "0.10.8" -tokio = { version = "1.41.0", features = [ +tokio = { version = "1.41.1", features = [ "macros", "process", "rt-multi-thread", @@ -70,14 +70,14 @@ tokio = { version = "1.41.0", features = [ tracing = "0.1.40" tracing-subscriber = "0.3.18" tower = "0.5.1" -tower-http = { version = "0.5.2", features = ["fs", "set-header"] } +tower-http = { version = "0.6.1", features = ["fs", "set-header"] } url = "2.5.3" usvg = "0.37.0" walkdir = "2.5.0" wasm-bindgen = "0.2.95" wasm-bindgen-futures = "0.4.45" -web-sys = { version = "0.3.70", features = ["console"] } -which = "6.0.3" +web-sys = { version = "0.3.72", features = ["console"] } +which = "7.0.0" [profile.release] lto = true diff --git a/crates/cli/src/build/mod.rs b/crates/cli/src/build/mod.rs index 23a6f112..d61c687a 100644 --- a/crates/cli/src/build/mod.rs +++ b/crates/cli/src/build/mod.rs @@ -46,7 +46,7 @@ use std::{ time::{Duration, Instant}, }; use tokio::sync::Mutex; -use tracing::{debug, error, info, instrument, warn}; +use tracing::{debug, error, info, instrument, trace, warn}; use url::Url; mod api; @@ -705,7 +705,7 @@ async fn prepare_screenshot(width: u32, output_dir: &Path) -> Result<()> { }); // Setup headless browser and navigate to screenshot url - const TIMEOUT: Duration = Duration::from_secs(180); + const TIMEOUT: Duration = Duration::from_secs(300); let options = LaunchOptions { args: vec![ OsStr::new("--force-device-scale-factor=2"), @@ -722,6 +722,7 @@ async fn prepare_screenshot(width: u32, output_dir: &Path) -> Result<()> { tab.set_default_timeout(TIMEOUT); let screenshot_url = format!("http://{svr_addr}/screenshot"); tab.navigate_to(&screenshot_url)?.wait_until_navigated()?; + trace!("navigated to screenshot url"); // Take screenshot in PNG format and save it to a file let png_b64_data = tab @@ -731,29 +732,34 @@ async fn prepare_screenshot(width: u32, output_dir: &Path) -> Result<()> { clip: None, from_surface: None, capture_beyond_viewport: Some(true), - })? + }) + .context("error generating screenshot in png format")? .data; let png_data = b64.decode(png_b64_data)?; let png_path = output_dir.join(DOCS_PATH).join("landscape.png"); File::create(&png_path)?.write_all(&png_data)?; + trace!("screenshot in png format ready"); // Take screenshot in PDF format and save it to a file // We use the dimensions of the screenshot in PNG format to calculate the // dimensions of the PDF paper, converting from pixels to inches. - let png_size = imagesize::size(&png_path)?; - let pdf_data = tab.print_to_pdf(Some(PrintToPdfOptions { - margin_bottom: Some(0.0), - margin_left: Some(0.0), - margin_right: Some(0.0), - margin_top: Some(0.0), - page_ranges: Some("1".to_string()), - paper_height: Some((png_size.height + 10) as f64 / 2.0 * 0.010_416_666_7), - paper_width: Some(png_size.width as f64 / 2.0 * 0.010_416_666_7), - print_background: Some(true), - ..Default::default() - }))?; + let png_size = imagesize::size(&png_path).context("error getting screenshot in png format dimensions")?; + let pdf_data = tab + .print_to_pdf(Some(PrintToPdfOptions { + margin_bottom: Some(0.0), + margin_left: Some(0.0), + margin_right: Some(0.0), + margin_top: Some(0.0), + page_ranges: Some("1".to_string()), + paper_height: Some((png_size.height + 10) as f64 / 2.0 * 0.010_416_666_7), + paper_width: Some(png_size.width as f64 / 2.0 * 0.010_416_666_7), + print_background: Some(true), + ..Default::default() + })) + .context("error generating screenshot in pdf format")?; let pdf_path = output_dir.join(DOCS_PATH).join("landscape.pdf"); File::create(pdf_path)?.write_all(&pdf_data)?; + trace!("screenshot in pdf format ready"); // Stop server server.abort();