From 94128633c6c6d4099f8dc206ad931c4a9dd132fe Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Fri, 3 Dec 2021 14:42:30 -0600 Subject: [PATCH] Update dependencies, add drone --- .drone.yml | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.lock | 108 ++++++++++++++----------------------------- src/main.rs | 22 ++++----- 3 files changed, 177 insertions(+), 84 deletions(-) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..1685506 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,131 @@ +kind: pipeline +type: docker +name: clippy + +platform: + arch: amd64 + +clone: + disable: true + +steps: +- name: clone + image: alpine/git:latest + user: root + commands: + - git clone $DRONE_GIT_HTTP_URL . + - git checkout $DRONE_COMMIT + - chown -R 991:991 . + +- name: clippy + image: asonix/rust-builder:amd64-latest + commands: + - rustup component add clippy + - cargo clippy --no-default-features + +--- + +kind: pipeline +type: docker +name: tests + +platform: + arch: amd64 + +clone: + disable: true + +steps: +- name: clone + image: alpine/git:latest + user: root + commands: + - git clone $DRONE_GIT_HTTP_URL . + - git checkout $DRONE_COMMIT + - chown -R 991:991 . + +- name: tests + image: asonix/rust-builder:amd64-latest + commands: + - cargo test + +--- + +kind: pipeline +type: docker +name: build-amd64 + +platform: + arch: amd64 + +clone: + disable: true + +steps: +- name: clone + image: alpine/git:latest + user: root + commands: + - git clone $DRONE_GIT_HTTP_URL . + - git checkout $DRONE_COMMIT + - chown -R 991:991 . + +- name: build + image: asonix/rust-builder:amd64-latest + commands: + - cargo check --target=x86_64-unknown-linux-musl + - cargo build --target=x86_64-unknown-linux-musl --release + +--- + +kind: pipeline +type: docker +name: build-arm64v8 + +platform: + arch: amd64 + +clone: + disable: true + +steps: +- name: clone + image: alpine/git:latest + user: root + commands: + - git clone $DRONE_GIT_HTTP_URL . + - git checkout $DRONE_COMMIT + - chown -R 991:991 . + +- name: build + image: asonix/rust-builder:arm64v8-latest + commands: + - cargo check --target=aarch64-unknown-linux-musl + - cargo build --target=aarch64-unknown-linux-musl --release + +--- + +kind: pipeline +type: docker +name: build-arm32v7 + +platform: + arch: amd64 + +clone: + disable: true + +steps: +- name: clone + image: alpine/git:latest + user: root + commands: + - git clone $DRONE_GIT_HTTP_URL . + - git checkout $DRONE_COMMIT + - chown -R 991:991 . + +- name: build + image: asonix/rust-builder:arm32v7-latest + commands: + - cargo check --target=armv7-unknown-linux-musleabihf + - cargo build --target=armv7-unknown-linux-musleabihf --release diff --git a/Cargo.lock b/Cargo.lock index 93b72a4..0c5badf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.0.0-beta.13" +version = "3.0.0-beta.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc3f9d97e32d75fae3ad7d955ac005eea3fd3ea60a89132768700911a60fd94" +checksum = "055b723746f19534fc5c9a210788686542986d6f1b9cb2900a297bb4c6619f3b" dependencies = [ "actix-codec", "actix-rt", @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "actix-tls" -version = "3.0.0-beta.9" +version = "3.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d4739910b49c77ea88308a9fbfae544524b34884161527f9978c0102052da0" +checksum = "4a78e066ef965e3501b0710f0722d0741e025b09e01f1af13afba0774efc2f40" dependencies = [ "actix-codec", "actix-rt", @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.0.0-beta.12" +version = "4.0.0-beta.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e87cfc4efaad42f8a054e269d1b85046397ff4e8707e49128dea3f99a512a9d6" +checksum = "1657eb2ed5e8ef246b6e951bafb38644ca433042a65a44f02e5601083b71b895" dependencies = [ "actix-codec", "actix-http", @@ -176,7 +176,7 @@ dependencies = [ "mime", "once_cell", "paste", - "pin-project", + "pin-project-lite", "regex", "serde", "serde_json", @@ -219,15 +219,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -dependencies = [ - "winapi", -] - [[package]] name = "ansi_term" version = "0.12.1" @@ -239,9 +230,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.48" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e1f47f7dc0422027a4e370dd4548d4d66b26782e513e98dca1e689e058a80e" +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203" [[package]] name = "arrayvec" @@ -300,9 +291,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "awc" -version = "3.0.0-beta.11" +version = "3.0.0-beta.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f7d0c472987e454f41c3f4c7fa336ca139707ab255644b0480144c2060c800" +checksum = "e9fef22345ed9fc111adf13c3b1e48473136a2669a73680b82d18d6e71e720fe" dependencies = [ "actix-codec", "actix-http", @@ -399,11 +390,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "2.33.3" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ - "ansi_term 0.11.0", + "ansi_term", "atty", "bitflags", "strsim", @@ -449,9 +440,9 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.16" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", "proc-macro2", @@ -1109,15 +1100,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - [[package]] name = "petgraph" version = "0.5.1" @@ -1411,18 +1393,18 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver", ] [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" [[package]] name = "scopeguard" @@ -1432,21 +1414,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "semver" -version = "0.11.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" [[package]] name = "serde" @@ -1470,9 +1440,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063bf466a64011ac24040a49009724ee60a57da1b437617ceb32e53ad61bfb19" +checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ "itoa", "ryu", @@ -1582,9 +1552,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" dependencies = [ "proc-macro2", "quote", @@ -1831,9 +1801,9 @@ dependencies = [ [[package]] name = "tracing-actix-web" -version = "0.5.0-beta.3" +version = "0.5.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "994e4a59135823bdca121a8d086e3fcc71741c8677b47fa95a6afdd15e8f646f" +checksum = "a90ef8ed903a84ce2c0cf35bd2896e55e22eaa5e2b49c4f16167f4615bb204ac" dependencies = [ "actix-web", "opentelemetry", @@ -1857,20 +1827,18 @@ dependencies = [ [[package]] name = "tracing-awc" -version = "0.1.0-beta.10" +version = "0.1.0-beta.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049a7039068783ea0315b94cd727e80ddf8b5f302e908876d58d33e318b79e72" +checksum = "7b79f7237bb46dbb931e2daafc1b89371dcf0759054ec9a2b1df40096a937a8f" dependencies = [ "actix-http", + "actix-service", "awc", "bytes", - "encoding_rs", "futures-core", - "mime", "opentelemetry", - "serde", + "pin-project-lite", "tracing", - "tracing-futures", "tracing-opentelemetry", ] @@ -1929,11 +1897,11 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507ec620f809cdf07cccb5bc57b13069a88031b795efd4079b1c71b66c1613d" +checksum = "245da694cc7fc4729f3f418b304cb57789f1bed2a78c575407ab8a23f53cb4d3" dependencies = [ - "ansi_term 0.12.1", + "ansi_term", "lazy_static", "matchers", "regex", @@ -1957,12 +1925,6 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - [[package]] name = "unicode-bidi" version = "0.3.7" diff --git a/src/main.rs b/src/main.rs index 0b83178..5e4a5c6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,7 +20,7 @@ use std::{ }; use structopt::StructOpt; use tracing_actix_web::TracingLogger; -use tracing_awc::Propagate; +use tracing_awc::Tracing; use tracing_error::{ErrorLayer, SpanTrace}; use tracing_log::LogTracer; use tracing_subscriber::{fmt::format::FmtSpan, layer::SubscriberExt, EnvFilter, Registry}; @@ -338,7 +338,7 @@ async fn upload( client_request }; - let mut res = client_request.propagate().send_stream(body).await?; + let mut res = client_request.send_stream(body).await?; let images = res.json::().await?; @@ -362,7 +362,7 @@ async fn thumbs( let file = query.into_inner().image; let url = CONFIG.upstream_details_url(&file); - let mut res = client.get(url).propagate().send().await?; + let mut res = client.get(url).send().await?; if res.status() == StatusCode::NOT_FOUND { return Ok(to_404()); @@ -394,7 +394,7 @@ async fn image( client_request }; - let res = client_request.no_decompress().propagate().send().await?; + let res = client_request.no_decompress().send().await?; if res.status() == StatusCode::NOT_FOUND { return Ok(to_404()); @@ -417,7 +417,7 @@ async fn view_original( let file = file.into_inner(); let url = CONFIG.upstream_details_url(&file); - let mut res = client.get(url).propagate().send().await?; + let mut res = client.get(url).send().await?; if res.status() == StatusCode::NOT_FOUND { return Ok(to_404()); @@ -448,7 +448,7 @@ async fn view( } let url = CONFIG.upstream_details_url(&file); - let mut res = client.get(url).propagate().send().await?; + let mut res = client.get(url).send().await?; if res.status() == StatusCode::NOT_FOUND { return Ok(to_404()); @@ -539,7 +539,7 @@ async fn delete( } = query.into_inner(); let url = CONFIG.upstream_details_url(&file); - let mut res = client.get(url).propagate().send().await?; + let mut res = client.get(url).send().await?; if res.status() == StatusCode::NOT_FOUND { return Ok(to_404()); @@ -547,7 +547,7 @@ async fn delete( if confirm { let url = CONFIG.upstream_delete_url(&token, &file); - client.delete(url).propagate().send().await?; + client.delete(url).send().await?; render(HttpResponse::Ok(), |cursor| { self::templates::deleted(cursor, &file) @@ -613,9 +613,8 @@ fn init_tracing( let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info")); - let format_layer = tracing_subscriber::fmt::layer() - .with_span_events(FmtSpan::CLOSE) - .pretty(); + let format_layer = + tracing_subscriber::fmt::layer().with_span_events(FmtSpan::NEW | FmtSpan::CLOSE); let subscriber = Registry::default() .with(env_filter) @@ -656,6 +655,7 @@ async fn main() -> Result<(), anyhow::Error> { HttpServer::new(move || { let client = Client::builder() + .wrap(Tracing) .header("User-Agent", "pict-rs-frontend, v0.1.0") .timeout(Duration::from_secs(30)) .finish();