From 6141ee1286fb1413262c9ce7003bb5f91186dc7c Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 08:51:58 +0100 Subject: [PATCH 01/59] start implementing deps --- recover-id-object/scripts/build.Dockerfile | 22 +++++++++++++ .../scripts/recover-id-object.Jenkinsfile | 33 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 recover-id-object/scripts/build.Dockerfile create mode 100644 recover-id-object/scripts/recover-id-object.Jenkinsfile diff --git a/recover-id-object/scripts/build.Dockerfile b/recover-id-object/scripts/build.Dockerfile new file mode 100644 index 00000000..02efc8b9 --- /dev/null +++ b/recover-id-object/scripts/build.Dockerfile @@ -0,0 +1,22 @@ +FROM rust:1.68.2 AS build + +WORKDIR /usr/app/recover-id-object + +COPY recover-id-object/Cargo.toml recover-id-object/Cargo.lock . +COPY deps /usr/app/deps +RUN mkdir src && echo 'fn main() { println!("Dummy!"); }' > ./src/main.rs + +RUN cargo build --release --locked +RUN rm recover-id-object/src/*.rs +COPY recover-id-object/src ./src + +#RUN rm ./target/release/deps/pokemon_api* +#RUN cargo build --release --locked +# +#FROM ${base_image} +#RUN apt-get update && \ +# apt-get -y install \ +# ca-certificates \ +# && rm -rf /var/lib/apt/lists/* +#COPY --from=build /build/chain-prometheus-exporter/target/release/chain-prometheus-exporter /usr/local/bin/ + diff --git a/recover-id-object/scripts/recover-id-object.Jenkinsfile b/recover-id-object/scripts/recover-id-object.Jenkinsfile new file mode 100644 index 00000000..2d8a31a4 --- /dev/null +++ b/recover-id-object/scripts/recover-id-object.Jenkinsfile @@ -0,0 +1,33 @@ +@Library('concordium-pipelines') _ +pipeline { + agent any + environment { + ecr_repo_domain = '192549843005.dkr.ecr.eu-west-1.amazonaws.com' + } + stages { + stage('ecr-login') { + steps { + ecrLogin(env.ecr_repo_domain, 'eu-west-1') + } + } + stage('build') { + environment { + image_repo = "${ecr_repo_domain}/concordium/chain-prometheus-exporter" + image_name = "${image_repo}:${image_tag}" + } + steps { + sh '''\ + docker build \ + --build-arg build_image=rust:${rust_version}-buster\ + --build-arg base_image=debian:buster\ + --label rust_version="${rust_version}" \ + -f chain-prometheus-exporter/scripts/build.Dockerfile\ + -t "${image_name}"\ + --no-cache\ + . + docker push "${image_name}" + '''.stripIndent() + } + } + } +} From 6b50a318b0f29cd14b5dfc40bad5bb3cfb70b297 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 09:07:03 +0100 Subject: [PATCH 02/59] updated lock file --- recover-id-object/Cargo.lock | 229 +++-------------------------------- 1 file changed, 15 insertions(+), 214 deletions(-) diff --git a/recover-id-object/Cargo.lock b/recover-id-object/Cargo.lock index 0a126555..ac0c4164 100644 --- a/recover-id-object/Cargo.lock +++ b/recover-id-object/Cargo.lock @@ -17,16 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array", -] - [[package]] name = "aes" version = "0.8.3" @@ -38,20 +28,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", -] - [[package]] name = "ahash" version = "0.7.6" @@ -517,9 +493,8 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "concordium-contracts-common" -version = "8.1.1" +version = "6.0.0" dependencies = [ - "base64 0.21.4", "bs58", "chrono", "concordium-contracts-common-derive", @@ -537,18 +512,17 @@ dependencies = [ [[package]] name = "concordium-contracts-common-derive" -version = "4.0.1" +version = "2.0.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] name = "concordium-rust-sdk" -version = "3.2.0" +version = "2.4.0" dependencies = [ - "aes-gcm", "anyhow", "chrono", "concordium-smart-contract-engine", @@ -557,7 +531,6 @@ dependencies = [ "ed25519-dalek", "futures", "hex", - "http", "num", "num-bigint 0.4.4", "num-traits", @@ -570,14 +543,12 @@ dependencies = [ "sha2 0.10.8", "thiserror", "tokio", - "tokio-stream", "tonic", - "tracing", ] [[package]] name = "concordium-smart-contract-engine" -version = "3.1.0" +version = "1.2.0" dependencies = [ "anyhow", "byteorder", @@ -600,7 +571,7 @@ dependencies = [ [[package]] name = "concordium-wasm" -version = "3.0.0" +version = "1.1.0" dependencies = [ "anyhow", "concordium-contracts-common", @@ -611,11 +582,11 @@ dependencies = [ [[package]] name = "concordium_base" -version = "3.2.0" +version = "1.2.0" dependencies = [ "aes", "anyhow", - "base64 0.21.4", + "base64 0.13.1", "bs58", "byteorder", "cbc", @@ -633,7 +604,6 @@ dependencies = [ "itertools", "leb128", "libc", - "nom", "num", "num-bigint 0.4.4", "num-traits", @@ -645,7 +615,6 @@ dependencies = [ "rust_decimal", "serde", "serde_json", - "serde_with", "sha2 0.10.8", "sha3", "subtle", @@ -659,7 +628,7 @@ version = "1.0.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] @@ -733,19 +702,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", "typenum", ] -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -759,50 +718,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.37", -] - -[[package]] -name = "darling_macro" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.37", -] - -[[package]] -name = "deranged" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" -dependencies = [ - "serde", -] - [[package]] name = "derive_more" version = "0.99.17" @@ -1116,16 +1031,6 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "ghash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" -dependencies = [ - "opaque-debug", - "polyval", -] - [[package]] name = "gimli" version = "0.28.0" @@ -1334,12 +1239,6 @@ dependencies = [ "cc", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "0.4.0" @@ -1358,7 +1257,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde", ] [[package]] @@ -1369,7 +1267,6 @@ checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", "hashbrown 0.14.1", - "serde", ] [[package]] @@ -1423,7 +1320,7 @@ dependencies = [ [[package]] name = "key_derivation" -version = "2.1.0" +version = "1.1.0" dependencies = [ "concordium_base", "ed25519-dalek", @@ -1433,7 +1330,6 @@ dependencies = [ "pbkdf2 0.10.1", "serde", "sha2 0.10.8", - "thiserror", ] [[package]] @@ -1505,12 +1401,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1549,16 +1439,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "num" version = "0.4.1" @@ -1658,23 +1538,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] @@ -1844,18 +1724,6 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" -[[package]] -name = "polyval" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2414,35 +2282,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" -dependencies = [ - "base64 0.21.4", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.0.2", - "serde", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.37", -] - [[package]] name = "sha2" version = "0.9.9" @@ -2603,34 +2442,6 @@ dependencies = [ "syn 2.0.37", ] -[[package]] -name = "time" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" -dependencies = [ - "deranged", - "itoa", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" -dependencies = [ - "time-core", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -2899,16 +2710,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle", -] - [[package]] name = "untrusted" version = "0.7.1" From d0ded6bd026abd0f3ef4e143f7bce96d19b032ce Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 10:52:18 +0100 Subject: [PATCH 03/59] updated lock file --- chain-prometheus-exporter/Cargo.lock | 226 ++------------------------- deps/concordium-rust-sdk | 2 +- 2 files changed, 15 insertions(+), 213 deletions(-) diff --git a/chain-prometheus-exporter/Cargo.lock b/chain-prometheus-exporter/Cargo.lock index e2f2dbf7..207c19ae 100644 --- a/chain-prometheus-exporter/Cargo.lock +++ b/chain-prometheus-exporter/Cargo.lock @@ -17,16 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array", -] - [[package]] name = "aes" version = "0.8.3" @@ -38,20 +28,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", -] - [[package]] name = "ahash" version = "0.7.6" @@ -530,9 +506,8 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "concordium-contracts-common" -version = "8.1.1" +version = "6.0.0" dependencies = [ - "base64 0.21.4", "bs58", "chrono", "concordium-contracts-common-derive", @@ -550,18 +525,17 @@ dependencies = [ [[package]] name = "concordium-contracts-common-derive" -version = "4.0.1" +version = "2.0.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] name = "concordium-rust-sdk" -version = "3.2.0" +version = "2.4.0" dependencies = [ - "aes-gcm", "anyhow", "chrono", "concordium-smart-contract-engine", @@ -570,7 +544,6 @@ dependencies = [ "ed25519-dalek", "futures", "hex", - "http", "num", "num-bigint 0.4.4", "num-traits", @@ -583,14 +556,12 @@ dependencies = [ "sha2 0.10.8", "thiserror", "tokio", - "tokio-stream", "tonic", - "tracing", ] [[package]] name = "concordium-smart-contract-engine" -version = "3.1.0" +version = "1.2.0" dependencies = [ "anyhow", "byteorder", @@ -613,7 +584,7 @@ dependencies = [ [[package]] name = "concordium-wasm" -version = "3.0.0" +version = "1.1.0" dependencies = [ "anyhow", "concordium-contracts-common", @@ -624,11 +595,11 @@ dependencies = [ [[package]] name = "concordium_base" -version = "3.2.0" +version = "1.2.0" dependencies = [ "aes", "anyhow", - "base64 0.21.4", + "base64 0.13.1", "bs58", "byteorder", "cbc", @@ -646,7 +617,6 @@ dependencies = [ "itertools", "leb128", "libc", - "nom", "num", "num-bigint 0.4.4", "num-traits", @@ -658,7 +628,6 @@ dependencies = [ "rust_decimal", "serde", "serde_json", - "serde_with", "sha2 0.10.8", "sha3", "subtle", @@ -672,7 +641,7 @@ version = "1.0.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] @@ -746,19 +715,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", "typenum", ] -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -772,50 +731,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.37", -] - -[[package]] -name = "darling_macro" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.37", -] - -[[package]] -name = "deranged" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" -dependencies = [ - "serde", -] - [[package]] name = "derive_more" version = "0.99.17" @@ -1066,16 +981,6 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "ghash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" -dependencies = [ - "opaque-debug", - "polyval", -] - [[package]] name = "gimli" version = "0.28.0" @@ -1268,12 +1173,6 @@ dependencies = [ "cc", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "indexmap" version = "1.9.3" @@ -1282,7 +1181,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde", ] [[package]] @@ -1293,7 +1191,6 @@ checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", "hashbrown 0.14.1", - "serde", ] [[package]] @@ -1400,12 +1297,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1426,16 +1317,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1545,23 +1426,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.37", + "syn 1.0.109", ] [[package]] @@ -1693,18 +1574,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "polyval" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2196,35 +2065,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" -dependencies = [ - "base64 0.21.4", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.0.2", - "serde", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.37", -] - [[package]] name = "sha2" version = "0.9.9" @@ -2397,34 +2237,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "time" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" -dependencies = [ - "deranged", - "itoa", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" -dependencies = [ - "time-core", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -2715,16 +2527,6 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle", -] - [[package]] name = "untrusted" version = "0.7.1" diff --git a/deps/concordium-rust-sdk b/deps/concordium-rust-sdk index 0c2031cb..2443fd0d 160000 --- a/deps/concordium-rust-sdk +++ b/deps/concordium-rust-sdk @@ -1 +1 @@ -Subproject commit 0c2031cb4bc84b566589a7ff3ee79592c7c29be3 +Subproject commit 2443fd0dda16356ea1deda27738ce7fbda06a880 From 96e1ebf5a3dde5e8af8d5c1680bb6d4e57119c28 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 12:37:49 +0100 Subject: [PATCH 04/59] run using low priv user --- recover-id-object/scripts/build.Dockerfile | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/recover-id-object/scripts/build.Dockerfile b/recover-id-object/scripts/build.Dockerfile index 02efc8b9..da0fcc93 100644 --- a/recover-id-object/scripts/build.Dockerfile +++ b/recover-id-object/scripts/build.Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.68.2 AS build +FROM rust:1.70.0 AS build WORKDIR /usr/app/recover-id-object @@ -7,16 +7,21 @@ COPY deps /usr/app/deps RUN mkdir src && echo 'fn main() { println!("Dummy!"); }' > ./src/main.rs RUN cargo build --release --locked -RUN rm recover-id-object/src/*.rs + +RUN rm src/*.rs COPY recover-id-object/src ./src +RUN cargo build --release --locked + +FROM debian:buster-slim + +WORKDIR /usr/app + +COPY --from=build /usr/app/recover-id-object/target/release/recover-id-object ./recover-id-object + +RUN groupadd -g 10001 appuser && \ + useradd --system --no-create-home -u 10000 -g appuser appuser \ + && chown -R appuser:appuser /usr/app -#RUN rm ./target/release/deps/pokemon_api* -#RUN cargo build --release --locked -# -#FROM ${base_image} -#RUN apt-get update && \ -# apt-get -y install \ -# ca-certificates \ -# && rm -rf /var/lib/apt/lists/* -#COPY --from=build /build/chain-prometheus-exporter/target/release/chain-prometheus-exporter /usr/local/bin/ +USER appuser:appuser +ENTRYPOINT recover-id-object From b613f05904ca9ee33ed057e23f1b0239f7541cd9 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 13:03:46 +0100 Subject: [PATCH 05/59] add dockerfile --- recover-id-object/scripts/build.Dockerfile | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/recover-id-object/scripts/build.Dockerfile b/recover-id-object/scripts/build.Dockerfile index da0fcc93..8261d8b4 100644 --- a/recover-id-object/scripts/build.Dockerfile +++ b/recover-id-object/scripts/build.Dockerfile @@ -1,4 +1,6 @@ -FROM rust:1.70.0 AS build +ARG build_image=rust:1.70.0 +ARG base_image=debian:buster-slim +FROM ${build_image} AS build WORKDIR /usr/app/recover-id-object @@ -12,16 +14,17 @@ RUN rm src/*.rs COPY recover-id-object/src ./src RUN cargo build --release --locked -FROM debian:buster-slim +FROM ${base_image} WORKDIR /usr/app COPY --from=build /usr/app/recover-id-object/target/release/recover-id-object ./recover-id-object RUN groupadd -g 10001 appuser && \ - useradd --system --no-create-home -u 10000 -g appuser appuser \ - && chown -R appuser:appuser /usr/app + useradd --system --no-create-home -u 10000 -g appuser appuser && \ + chown -R appuser:appuser /usr/app USER appuser:appuser +RUN chmod +x recover-id-object -ENTRYPOINT recover-id-object +ENTRYPOINT ["./recover-id-object"] From eb9e94e84163b031eff87ee79ad2080fc08b2d21 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 14:33:52 +0100 Subject: [PATCH 06/59] fix issues --- .github/workflows/release.yml | 8 + chain-prometheus-exporter/Cargo.lock | 243 +++++++++++++++++- .../scripts/recover-id-object.Jenkinsfile | 33 --- 3 files changed, 237 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 recover-id-object/scripts/recover-id-object.Jenkinsfile diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..4a020b2a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,8 @@ +jobs: + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Format + run: | + echo "Hello, World!" + diff --git a/chain-prometheus-exporter/Cargo.lock b/chain-prometheus-exporter/Cargo.lock index 207c19ae..7d40737b 100644 --- a/chain-prometheus-exporter/Cargo.lock +++ b/chain-prometheus-exporter/Cargo.lock @@ -17,6 +17,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + [[package]] name = "aes" version = "0.8.3" @@ -28,6 +38,20 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" version = "0.7.6" @@ -506,8 +530,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "concordium-contracts-common" -version = "6.0.0" +version = "8.1.1" dependencies = [ + "base64 0.21.4", "bs58", "chrono", "concordium-contracts-common-derive", @@ -525,17 +550,18 @@ dependencies = [ [[package]] name = "concordium-contracts-common-derive" -version = "2.0.0" +version = "4.0.1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] name = "concordium-rust-sdk" -version = "2.4.0" +version = "3.2.0" dependencies = [ + "aes-gcm", "anyhow", "chrono", "concordium-smart-contract-engine", @@ -544,6 +570,7 @@ dependencies = [ "ed25519-dalek", "futures", "hex", + "http", "num", "num-bigint 0.4.4", "num-traits", @@ -556,12 +583,14 @@ dependencies = [ "sha2 0.10.8", "thiserror", "tokio", + "tokio-stream", "tonic", + "tracing", ] [[package]] name = "concordium-smart-contract-engine" -version = "1.2.0" +version = "3.1.0" dependencies = [ "anyhow", "byteorder", @@ -584,7 +613,7 @@ dependencies = [ [[package]] name = "concordium-wasm" -version = "1.1.0" +version = "3.0.0" dependencies = [ "anyhow", "concordium-contracts-common", @@ -595,11 +624,11 @@ dependencies = [ [[package]] name = "concordium_base" -version = "1.2.0" +version = "3.2.0" dependencies = [ "aes", "anyhow", - "base64 0.13.1", + "base64 0.21.4", "bs58", "byteorder", "cbc", @@ -617,6 +646,7 @@ dependencies = [ "itertools", "leb128", "libc", + "nom", "num", "num-bigint 0.4.4", "num-traits", @@ -628,6 +658,7 @@ dependencies = [ "rust_decimal", "serde", "serde_json", + "serde_with", "sha2 0.10.8", "sha3", "subtle", @@ -641,7 +672,7 @@ version = "1.0.0" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] @@ -715,9 +746,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -731,6 +772,51 @@ dependencies = [ "zeroize", ] +[[package]] +name = "darling" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.37", +] + +[[package]] +name = "darling_macro" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -981,6 +1067,16 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "gimli" version = "0.28.0" @@ -1173,6 +1269,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "indexmap" version = "1.9.3" @@ -1181,6 +1283,7 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", + "serde", ] [[package]] @@ -1191,6 +1294,7 @@ checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", "hashbrown 0.14.1", + "serde", ] [[package]] @@ -1297,6 +1401,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1317,6 +1427,16 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1372,6 +1492,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.45" @@ -1426,23 +1552,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] @@ -1574,6 +1700,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "polyval" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2065,6 +2209,36 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +dependencies = [ + "base64 0.21.4", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.0.2", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.37", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2237,6 +2411,37 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -2527,6 +2732,16 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.7.1" diff --git a/recover-id-object/scripts/recover-id-object.Jenkinsfile b/recover-id-object/scripts/recover-id-object.Jenkinsfile deleted file mode 100644 index 2d8a31a4..00000000 --- a/recover-id-object/scripts/recover-id-object.Jenkinsfile +++ /dev/null @@ -1,33 +0,0 @@ -@Library('concordium-pipelines') _ -pipeline { - agent any - environment { - ecr_repo_domain = '192549843005.dkr.ecr.eu-west-1.amazonaws.com' - } - stages { - stage('ecr-login') { - steps { - ecrLogin(env.ecr_repo_domain, 'eu-west-1') - } - } - stage('build') { - environment { - image_repo = "${ecr_repo_domain}/concordium/chain-prometheus-exporter" - image_name = "${image_repo}:${image_tag}" - } - steps { - sh '''\ - docker build \ - --build-arg build_image=rust:${rust_version}-buster\ - --build-arg base_image=debian:buster\ - --label rust_version="${rust_version}" \ - -f chain-prometheus-exporter/scripts/build.Dockerfile\ - -t "${image_name}"\ - --no-cache\ - . - docker push "${image_name}" - '''.stripIndent() - } - } - } -} From 8514125c86179d353cc78dd6ccd03c2c1b90b9c1 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 14:35:19 +0100 Subject: [PATCH 07/59] add hello world --- .github/workflows/release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a020b2a..0adfb3e8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,5 @@ jobs: steps: - - name: Checkout - uses: actions/checkout@v4 - name: Format run: | echo "Hello, World!" - From f17fe7f9bd2daf3f656d72de5b57aaac53c39d2a Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 14:38:09 +0100 Subject: [PATCH 08/59] fix syntax issues --- .github/workflows/release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0adfb3e8..3f38c551 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,6 @@ jobs: - steps: - - name: Format - run: | - echo "Hello, World!" + say_hello: + runs-on: ubuntu-latest + steps: + - name: Print Hello World + run: echo "Hello World!" \ No newline at end of file From eff7ac041e26dd66ac54b6475bd9419bed5b54cb Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 14:40:27 +0100 Subject: [PATCH 09/59] on pull request --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f38c551..5a178a18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,9 @@ +name: Hello World Workflow + +on: + pull_request: + branches: main + jobs: say_hello: runs-on: ubuntu-latest From 68da18d03c8b26631ccfbfea7a9d64ae8116aedf Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 15:55:42 +0100 Subject: [PATCH 10/59] recover id object --- .github/workflows/release.yml | 48 +++++++++++++++++-- .../scripts/{build.Dockerfile => Dockerfile} | 0 2 files changed, 44 insertions(+), 4 deletions(-) rename recover-id-object/scripts/{build.Dockerfile => Dockerfile} (100%) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5a178a18..d41c8cdb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,52 @@ -name: Hello World Workflow +name: Release workflow on: pull_request: branches: main jobs: - say_hello: + changes: runs-on: ubuntu-latest + permissions: + pull-requests: read + name: 'Detect changes' + outputs: + dockerfiles: ${{ steps.filter.outputs.changes }} steps: - - name: Print Hello World - run: echo "Hello World!" \ No newline at end of file + - name: Check out the repo + uses: actions/checkout@v2 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + recover-id-object/scripts/Dockerfile: + - 'deps/concordium-rust-sdk/**' + - 'recover-id-object/**' + + build-and-push: + needs: [ changes ] + if: needs.changes.outputs.environments != '[]' + strategy: + fail-fast: false + matrix: + environment: ${{ fromJSON(needs.changes.outputs.environments) }} + runs-on: ubuntu-latest + environment: production + steps: + - name: Check out the repo + uses: actions/checkout@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: ${{ matrix.dockerfile }} + push: true + tags: concordium/recover-id-object:latest diff --git a/recover-id-object/scripts/build.Dockerfile b/recover-id-object/scripts/Dockerfile similarity index 100% rename from recover-id-object/scripts/build.Dockerfile rename to recover-id-object/scripts/Dockerfile From c8875ea2994e89e6a16c158965e4db2502dfc835 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 19:44:45 +0100 Subject: [PATCH 11/59] use correct reference --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d41c8cdb..2101f297 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: strategy: fail-fast: false matrix: - environment: ${{ fromJSON(needs.changes.outputs.environments) }} + environment: ${{ fromJSON(needs.changes.outputs.dockerfiles) }} runs-on: ubuntu-latest environment: production steps: From 4b8734fa7e896427dccd249719b4a9d9e423b059 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 19:46:26 +0100 Subject: [PATCH 12/59] use another checkout version --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2101f297..806f0273 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: dockerfiles: ${{ steps.filter.outputs.changes }} steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - uses: dorny/paths-filter@v3 id: filter with: @@ -34,7 +34,7 @@ jobs: environment: production steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to DockerHub From b7a546907578f7ffcfb9616d8d004178e45474cc Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 19:49:50 +0100 Subject: [PATCH 13/59] remove buildx --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 806f0273..4c18d68f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,8 +35,6 @@ jobs: steps: - name: Check out the repo uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - name: Log in to DockerHub uses: docker/login-action@v3 with: From ce0cc7c382fb567d4fd205e2d3198bc8ba5c80c0 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 19:54:31 +0100 Subject: [PATCH 14/59] used correct path --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c18d68f..892f5e77 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,11 +40,10 @@ jobs: with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . - file: ${{ matrix.dockerfile }} + file: recover-id-object/scripts/Dockerfile push: true tags: concordium/recover-id-object:latest From 258768e6576d63fc6e7bedbdb5048a29ea356bfd Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:00:26 +0100 Subject: [PATCH 15/59] include submodules --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 892f5e77..6def1560 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,6 +35,8 @@ jobs: steps: - name: Check out the repo uses: actions/checkout@v4 + with: + submodules: recursive - name: Log in to DockerHub uses: docker/login-action@v3 with: From 2ea2317413cb3a56525df2d3dab6fc6ee1ee0d25 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:03:41 +0100 Subject: [PATCH 16/59] use github actions for push --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6def1560..d59f6b46 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,6 +46,6 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: recover-id-object/scripts/Dockerfile + file: ${{ matrix.dockerfile }} push: true tags: concordium/recover-id-object:latest From 86b7ef1cb0a925ab01ff513db25cb157a0ec56b5 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:11:08 +0100 Subject: [PATCH 17/59] use correct dockerfiles --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d59f6b46..11b67580 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: build-and-push: needs: [ changes ] - if: needs.changes.outputs.environments != '[]' + if: needs.changes.outputs.dockerfiles != '[]' strategy: fail-fast: false matrix: From 0703d79318783a88e535c850a1405e415136e107 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:16:53 +0100 Subject: [PATCH 18/59] print matrix values --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 11b67580..fa7ec4ff 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,9 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive + - name: Print Matrix Values + run: | + echo "Matrix ${{ matrix }}" - name: Log in to DockerHub uses: docker/login-action@v3 with: From 1d937e421241055a70d3e7c6281a6c334fd2765b Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:18:52 +0100 Subject: [PATCH 19/59] test dockerfile --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fa7ec4ff..49758d1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,7 +39,7 @@ jobs: submodules: recursive - name: Print Matrix Values run: | - echo "Matrix ${{ matrix }}" + echo "Matrix ${{ matrix.dockerfile }}" - name: Log in to DockerHub uses: docker/login-action@v3 with: From c88924d896bc417fc2c6953b99a083f09dc0ec9a Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:20:53 +0100 Subject: [PATCH 20/59] dockerfiles --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 49758d1f..a7b1ad2b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,7 +39,7 @@ jobs: submodules: recursive - name: Print Matrix Values run: | - echo "Matrix ${{ matrix.dockerfile }}" + echo "Matrix ${{ fromJSON(needs.changes.outputs.dockerfiles) }}" - name: Log in to DockerHub uses: docker/login-action@v3 with: From 8ab02a24f6055dd84fcf0cef31f014d5296de042 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:22:22 +0100 Subject: [PATCH 21/59] do not use json --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7b1ad2b..a96dd150 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,7 +39,7 @@ jobs: submodules: recursive - name: Print Matrix Values run: | - echo "Matrix ${{ fromJSON(needs.changes.outputs.dockerfiles) }}" + echo "Matrix ${{ needs.changes.outputs.dockerfiles }}" - name: Log in to DockerHub uses: docker/login-action@v3 with: From dde8328554f55c26588cf91e4fdcf1c522333729 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:26:10 +0100 Subject: [PATCH 22/59] fix matrix --- .github/workflows/release.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a96dd150..68b1f69e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: strategy: fail-fast: false matrix: - environment: ${{ fromJSON(needs.changes.outputs.dockerfiles) }} + dockerfile: ${{ fromJSON(needs.changes.outputs.dockerfiles) }} runs-on: ubuntu-latest environment: production steps: @@ -37,9 +37,6 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive - - name: Print Matrix Values - run: | - echo "Matrix ${{ needs.changes.outputs.dockerfiles }}" - name: Log in to DockerHub uses: docker/login-action@v3 with: From c7b8a2fb628b34bec3e1bae50b33e13c5173e102 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:42:16 +0100 Subject: [PATCH 23/59] buildx expect to fail --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68b1f69e..defabef1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,8 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - name: Log in to DockerHub uses: docker/login-action@v3 with: From c35649a202a3959fb2a54ac28f75a401118e9c8e Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:50:40 +0100 Subject: [PATCH 24/59] use cache --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index defabef1..8b8bbedc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,3 +51,5 @@ jobs: file: ${{ matrix.dockerfile }} push: true tags: concordium/recover-id-object:latest + cache-from: type=registry,ref=concordium/recover-id-object:latest + cache-to: type=inline From 3edacd20b46cf54e32b61e088d21dbad73344086 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 20:59:13 +0100 Subject: [PATCH 25/59] use checkout instead of pr --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b8bbedc..4a949661 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,8 +7,6 @@ on: jobs: changes: runs-on: ubuntu-latest - permissions: - pull-requests: read name: 'Detect changes' outputs: dockerfiles: ${{ steps.filter.outputs.changes }} From 82b50596481fafa6e508963a0196d7e12d49d65e Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:01:45 +0100 Subject: [PATCH 26/59] git push --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a949661..ad112b11 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ name: Release workflow on: - pull_request: + push: branches: main jobs: From 6fda17235c95cf4d2319131597c91e2f7dc172d0 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:17:16 +0100 Subject: [PATCH 27/59] revert change to submodule --- deps/concordium-rust-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/concordium-rust-sdk b/deps/concordium-rust-sdk index 2443fd0d..0c2031cb 160000 --- a/deps/concordium-rust-sdk +++ b/deps/concordium-rust-sdk @@ -1 +1 @@ -Subproject commit 2443fd0dda16356ea1deda27738ce7fbda06a880 +Subproject commit 0c2031cb4bc84b566589a7ff3ee79592c7c29be3 From cb12658fa1d7634368ce9855fb6e17475e976895 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:19:51 +0100 Subject: [PATCH 28/59] revert lock file changes --- chain-prometheus-exporter/Cargo.lock | 51 ++++++++++------------------ 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/chain-prometheus-exporter/Cargo.lock b/chain-prometheus-exporter/Cargo.lock index 7d40737b..b33c88e7 100644 --- a/chain-prometheus-exporter/Cargo.lock +++ b/chain-prometheus-exporter/Cargo.lock @@ -774,9 +774,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.5" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -784,9 +784,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.5" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", @@ -798,9 +798,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.5" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", @@ -809,11 +809,10 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" dependencies = [ - "powerfmt", "serde", ] @@ -1492,12 +1491,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.45" @@ -1712,12 +1705,6 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2211,9 +2198,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.6.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" dependencies = [ "base64 0.21.4", "chrono", @@ -2221,7 +2208,6 @@ dependencies = [ "indexmap 1.9.3", "indexmap 2.0.2", "serde", - "serde_derive", "serde_json", "serde_with_macros", "time", @@ -2229,9 +2215,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.6.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" dependencies = [ "darling", "proc-macro2", @@ -2413,14 +2399,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" dependencies = [ "deranged", "itoa", - "num-conv", - "powerfmt", "serde", "time-core", "time-macros", @@ -2434,11 +2418,10 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] @@ -3009,4 +2992,4 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.37", -] +] \ No newline at end of file From 773ef05af9cbdfda86fbf0a8df41ba8020bef44f Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:20:32 +0100 Subject: [PATCH 29/59] fix newline --- chain-prometheus-exporter/Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chain-prometheus-exporter/Cargo.lock b/chain-prometheus-exporter/Cargo.lock index b33c88e7..e2f2dbf7 100644 --- a/chain-prometheus-exporter/Cargo.lock +++ b/chain-prometheus-exporter/Cargo.lock @@ -2992,4 +2992,4 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.37", -] \ No newline at end of file +] From e3cdf594e52e87c3b24955a16a59122b6bb62b65 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:23:30 +0100 Subject: [PATCH 30/59] test --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ad112b11..4a949661 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ name: Release workflow on: - push: + pull_request: branches: main jobs: From a6c554228412f906f19caedfcb5aa35ed02c72f0 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:30:45 +0100 Subject: [PATCH 31/59] updated cargo.lock --- recover-id-object/Cargo.lock | 246 ++++++++++++++++++++++++++++++++--- 1 file changed, 231 insertions(+), 15 deletions(-) diff --git a/recover-id-object/Cargo.lock b/recover-id-object/Cargo.lock index ac0c4164..2a34495f 100644 --- a/recover-id-object/Cargo.lock +++ b/recover-id-object/Cargo.lock @@ -17,6 +17,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + [[package]] name = "aes" version = "0.8.3" @@ -28,6 +38,20 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" version = "0.7.6" @@ -493,8 +517,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "concordium-contracts-common" -version = "6.0.0" +version = "8.1.1" dependencies = [ + "base64 0.21.4", "bs58", "chrono", "concordium-contracts-common-derive", @@ -512,17 +537,18 @@ dependencies = [ [[package]] name = "concordium-contracts-common-derive" -version = "2.0.0" +version = "4.0.1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] name = "concordium-rust-sdk" -version = "2.4.0" +version = "3.2.0" dependencies = [ + "aes-gcm", "anyhow", "chrono", "concordium-smart-contract-engine", @@ -531,6 +557,7 @@ dependencies = [ "ed25519-dalek", "futures", "hex", + "http", "num", "num-bigint 0.4.4", "num-traits", @@ -543,12 +570,14 @@ dependencies = [ "sha2 0.10.8", "thiserror", "tokio", + "tokio-stream", "tonic", + "tracing", ] [[package]] name = "concordium-smart-contract-engine" -version = "1.2.0" +version = "3.1.0" dependencies = [ "anyhow", "byteorder", @@ -571,7 +600,7 @@ dependencies = [ [[package]] name = "concordium-wasm" -version = "1.1.0" +version = "3.0.0" dependencies = [ "anyhow", "concordium-contracts-common", @@ -582,11 +611,11 @@ dependencies = [ [[package]] name = "concordium_base" -version = "1.2.0" +version = "3.2.0" dependencies = [ "aes", "anyhow", - "base64 0.13.1", + "base64 0.21.4", "bs58", "byteorder", "cbc", @@ -604,6 +633,7 @@ dependencies = [ "itertools", "leb128", "libc", + "nom", "num", "num-bigint 0.4.4", "num-traits", @@ -615,6 +645,7 @@ dependencies = [ "rust_decimal", "serde", "serde_json", + "serde_with", "sha2 0.10.8", "sha3", "subtle", @@ -628,7 +659,7 @@ version = "1.0.0" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] @@ -702,9 +733,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -718,6 +759,51 @@ dependencies = [ "zeroize", ] +[[package]] +name = "darling" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.37", +] + +[[package]] +name = "darling_macro" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1031,6 +1117,16 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "gimli" version = "0.28.0" @@ -1239,6 +1335,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.4.0" @@ -1257,6 +1359,7 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", + "serde", ] [[package]] @@ -1267,6 +1370,7 @@ checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", "hashbrown 0.14.1", + "serde", ] [[package]] @@ -1320,7 +1424,7 @@ dependencies = [ [[package]] name = "key_derivation" -version = "1.1.0" +version = "2.1.0" dependencies = [ "concordium_base", "ed25519-dalek", @@ -1330,6 +1434,7 @@ dependencies = [ "pbkdf2 0.10.1", "serde", "sha2 0.10.8", + "thiserror", ] [[package]] @@ -1401,6 +1506,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1439,6 +1550,16 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "num" version = "0.4.1" @@ -1484,6 +1605,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.45" @@ -1538,23 +1665,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] @@ -1724,6 +1851,24 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "polyval" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2282,6 +2427,36 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +dependencies = [ + "base64 0.21.4", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.0.2", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.37", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2442,6 +2617,37 @@ dependencies = [ "syn 2.0.37", ] +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -2710,6 +2916,16 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.7.1" From f10b6639b89e77c89e33e6ba98d31aba9134d598 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:35:54 +0100 Subject: [PATCH 32/59] define build image --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a949661..cecef92a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,10 @@ on: pull_request: branches: main +env: + DOCKER_BASE_IMAGE: debian:buster-slim + RUST_VERSION: "1.70.0" + jobs: changes: runs-on: ubuntu-latest @@ -48,6 +52,8 @@ jobs: context: . file: ${{ matrix.dockerfile }} push: true + build-args: + - build_image=${{ env.RUST_VERSION }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From ec1e21da1347f067928962ef8765d3221bf87400 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:39:12 +0100 Subject: [PATCH 33/59] test another syntax --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cecef92a..c10aa288 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,8 @@ jobs: context: . file: ${{ matrix.dockerfile }} push: true - build-args: - - build_image=${{ env.RUST_VERSION }} + build-args: | + build_image=${{ env.RUST_VERSION }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 045ad340d94cf913b442429dc7fb09816568c4e2 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:45:03 +0100 Subject: [PATCH 34/59] use correct syntax --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c10aa288..f38e622b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: env: DOCKER_BASE_IMAGE: debian:buster-slim - RUST_VERSION: "1.70.0" + RUST_VERSION: rust:1.70.0 jobs: changes: @@ -53,7 +53,7 @@ jobs: file: ${{ matrix.dockerfile }} push: true build-args: | - build_image=${{ env.RUST_VERSION }} + build_image=1.70.0 tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 6441f1d064a7368323beafbed4cd7102b6602447 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:46:29 +0100 Subject: [PATCH 35/59] fix issues --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f38e622b..3be0e59f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,7 +53,7 @@ jobs: file: ${{ matrix.dockerfile }} push: true build-args: | - build_image=1.70.0 + build_image=${{ env.RUST_VERSION }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 2dec1b0cd914bd4f4412c6033cc4b2bd730e9ab7 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:49:24 +0100 Subject: [PATCH 36/59] use args from release --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3be0e59f..7cd09aec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,6 +54,7 @@ jobs: push: true build-args: | build_image=${{ env.RUST_VERSION }} + base_image=${{ env.DOCKER_BASE_IMAGE }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 5253757d4481d5e21d923152b808919e252b3024 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:55:02 +0100 Subject: [PATCH 37/59] only release from main branch --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7cd09aec..d314fa6b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ name: Release workflow on: - pull_request: + push: branches: main env: From 2cbdefa0e8481d1ec31384ac298b0902dac264ff Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 21:59:06 +0100 Subject: [PATCH 38/59] remove build argds --- .github/workflows/release.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d314fa6b..ad112b11 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,10 +4,6 @@ on: push: branches: main -env: - DOCKER_BASE_IMAGE: debian:buster-slim - RUST_VERSION: rust:1.70.0 - jobs: changes: runs-on: ubuntu-latest @@ -52,9 +48,6 @@ jobs: context: . file: ${{ matrix.dockerfile }} push: true - build-args: | - build_image=${{ env.RUST_VERSION }} - base_image=${{ env.DOCKER_BASE_IMAGE }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From a9a5065952d1d726e09db7cbe57d69b63f39e38c Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Mon, 12 Feb 2024 22:00:34 +0100 Subject: [PATCH 39/59] only include rust version as an arg --- .github/workflows/release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ad112b11..0a860a2f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,9 @@ on: push: branches: main +env: + RUST_VERSION: rust:1.70.0 + jobs: changes: runs-on: ubuntu-latest @@ -48,6 +51,8 @@ jobs: context: . file: ${{ matrix.dockerfile }} push: true + build-args: | + build_image=${{ env.RUST_VERSION }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 136396c9e97da15945b896245fbcfd4a28578609 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 10:33:58 +0100 Subject: [PATCH 40/59] use release instead of commits --- .github/workflows/release.yml | 33 ++++++---------------------- recover-id-object/scripts/Dockerfile | 2 +- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0a860a2f..88bae635 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,36 +1,17 @@ name: Release workflow on: - push: - branches: main + release: + types: [published] env: - RUST_VERSION: rust:1.70.0 + RUST_VERSION: rust:1.70-buster + ID_RECOVER_TOOL_NAME: id-recover-tool jobs: - changes: - runs-on: ubuntu-latest - name: 'Detect changes' - outputs: - dockerfiles: ${{ steps.filter.outputs.changes }} - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - recover-id-object/scripts/Dockerfile: - - 'deps/concordium-rust-sdk/**' - - 'recover-id-object/**' build-and-push: - needs: [ changes ] - if: needs.changes.outputs.dockerfiles != '[]' - strategy: - fail-fast: false - matrix: - dockerfile: ${{ fromJSON(needs.changes.outputs.dockerfiles) }} + if: startsWith(github.ref, "refs/tags/${{ env.ID_RECOVER_TOOL_PREFIX }}/") runs-on: ubuntu-latest environment: production steps: @@ -49,10 +30,10 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: ${{ matrix.dockerfile }} + file: ${{ env.ID_RECOVER_TOOL_NAME }}/scripts/Dockerfile push: true build-args: | - build_image=${{ env.RUST_VERSION }} + build_image=${{ env.rust_version }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline diff --git a/recover-id-object/scripts/Dockerfile b/recover-id-object/scripts/Dockerfile index 8261d8b4..b6802953 100644 --- a/recover-id-object/scripts/Dockerfile +++ b/recover-id-object/scripts/Dockerfile @@ -1,4 +1,4 @@ -ARG build_image=rust:1.70.0 +ARG build_image=rust:1.70-buster ARG base_image=debian:buster-slim FROM ${build_image} AS build From 431da69fe838a0f1e58ae7fe587d79ecc1e8a2d8 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 10:36:32 +0100 Subject: [PATCH 41/59] fix issues with ref tag --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 88bae635..56522100 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,7 @@ env: jobs: build-and-push: - if: startsWith(github.ref, "refs/tags/${{ env.ID_RECOVER_TOOL_PREFIX }}/") + if: startsWith(github.ref, "refs/tags/${{ env.ID_RECOVER_TOOL_NAME }}/") runs-on: ubuntu-latest environment: production steps: From 6d7ff09d4b782e4e417df9e25f4b5b1865f358e6 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 10:39:44 +0100 Subject: [PATCH 42/59] id recover too --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 56522100..dfd818cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,7 @@ env: jobs: build-and-push: - if: startsWith(github.ref, "refs/tags/${{ env.ID_RECOVER_TOOL_NAME }}/") + if: startsWith(github.ref, 'refs/tags/id-recover-tool/') runs-on: ubuntu-latest environment: production steps: From 97a96c18a0d2a15b7acae299650771e870df0e15 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 10:58:55 +0100 Subject: [PATCH 43/59] test build --- .github/workflows/release.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dfd818cf..9bfe8a1e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,6 @@ on: env: RUST_VERSION: rust:1.70-buster - ID_RECOVER_TOOL_NAME: id-recover-tool jobs: @@ -30,10 +29,10 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: ${{ env.ID_RECOVER_TOOL_NAME }}/scripts/Dockerfile + file: id-recover-tool/scripts/Dockerfile push: true build-args: | - build_image=${{ env.rust_version }} + build_image=${{ env.RUST_VERSION }} tags: concordium/recover-id-object:latest cache-from: type=registry,ref=concordium/recover-id-object:latest cache-to: type=inline From 3a015d8b3a54195b5b062721c12b7ba5ba4b92c9 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 11:18:33 +0100 Subject: [PATCH 44/59] test push on branches --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bfe8a1e..fa4e2e1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,8 @@ name: Release workflow on: - release: - types: [published] + push: + branches: [lma/dockerimage] env: RUST_VERSION: rust:1.70-buster From 3a7917ea3adb7381ec47a4b86563b82ecb012c5a Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 11:30:51 +0100 Subject: [PATCH 45/59] print github object --- .github/workflows/release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fa4e2e1f..d60d2747 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,8 @@ name: Release workflow on: push: - branches: [lma/dockerimage] + tags: + - 'id-recover-tool/*' env: RUST_VERSION: rust:1.70-buster @@ -10,7 +11,6 @@ env: jobs: build-and-push: - if: startsWith(github.ref, 'refs/tags/id-recover-tool/') runs-on: ubuntu-latest environment: production steps: @@ -18,6 +18,10 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to DockerHub From 9b48de05ba727b501a0f6f36de59fbc7071a0fe7 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 11:48:43 +0100 Subject: [PATCH 46/59] test environment protection --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d60d2747..13549224 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Release workflow on: push: tags: - - 'id-recover-tool/*' + - 'recover-id-object/*' env: RUST_VERSION: rust:1.70-buster @@ -33,7 +33,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: id-recover-tool/scripts/Dockerfile + file: recover-id-tool/scripts/Dockerfile push: true build-args: | build_image=${{ env.RUST_VERSION }} From c44a090ec185f4202b0d53bb34203383e7921f2c Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 11:56:37 +0100 Subject: [PATCH 47/59] run a test --- .github/workflows/release.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 13549224..abd59d6f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,9 +1,8 @@ name: Release workflow on: - push: - tags: - - 'recover-id-object/*' + release: + types: [published] env: RUST_VERSION: rust:1.70-buster From 881942562a7529d0364601315a35c1566185657c Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 12:22:06 +0100 Subject: [PATCH 48/59] use correct file --- .github/workflows/release.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index abd59d6f..8e9b85d5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,10 +17,6 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to DockerHub @@ -32,7 +28,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: recover-id-tool/scripts/Dockerfile + file: recover-id-object/scripts/Dockerfile push: true build-args: | build_image=${{ env.RUST_VERSION }} From aead9fcb9675c30b29587d337ebffa01f60964d4 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:07:45 +0100 Subject: [PATCH 49/59] no longer use caches --- .github/workflows/release.yml | 11 ++++++++--- recover-id-object/scripts/Dockerfile | 7 +------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8e9b85d5..74757ade 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,7 @@ env: jobs: build-and-push: + if: startsWith(github.ref, 'refs/tags/recover-id-object/') runs-on: ubuntu-latest environment: production steps: @@ -24,6 +25,12 @@ jobs: with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} + - name: Extract Cargo package version + id: cargo_version + run: | + VERSION=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version') + echo "Extracted version is $VERSION" + echo "::set-output name=version::$VERSION" - name: Build and push Docker image uses: docker/build-push-action@v5 with: @@ -32,6 +39,4 @@ jobs: push: true build-args: | build_image=${{ env.RUST_VERSION }} - tags: concordium/recover-id-object:latest - cache-from: type=registry,ref=concordium/recover-id-object:latest - cache-to: type=inline + tags: concordium/recover-id-object:${{ steps.cargo_version.outputs.version }} diff --git a/recover-id-object/scripts/Dockerfile b/recover-id-object/scripts/Dockerfile index b6802953..6070a5f4 100644 --- a/recover-id-object/scripts/Dockerfile +++ b/recover-id-object/scripts/Dockerfile @@ -5,13 +5,8 @@ FROM ${build_image} AS build WORKDIR /usr/app/recover-id-object COPY recover-id-object/Cargo.toml recover-id-object/Cargo.lock . -COPY deps /usr/app/deps -RUN mkdir src && echo 'fn main() { println!("Dummy!"); }' > ./src/main.rs - -RUN cargo build --release --locked - -RUN rm src/*.rs COPY recover-id-object/src ./src +COPY deps /usr/app/deps RUN cargo build --release --locked FROM ${base_image} From c60e7ceed73e31ffff63db525cbaaaa8d9da1dd0 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:12:41 +0100 Subject: [PATCH 50/59] add entire repo --- recover-id-object/scripts/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recover-id-object/scripts/Dockerfile b/recover-id-object/scripts/Dockerfile index 6070a5f4..ea15e0d2 100644 --- a/recover-id-object/scripts/Dockerfile +++ b/recover-id-object/scripts/Dockerfile @@ -4,8 +4,7 @@ FROM ${build_image} AS build WORKDIR /usr/app/recover-id-object -COPY recover-id-object/Cargo.toml recover-id-object/Cargo.lock . -COPY recover-id-object/src ./src +COPY recover-id-object/* . COPY deps /usr/app/deps RUN cargo build --release --locked From 09c39146e84abeb5ffa31193ad5490122fa9ee38 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:17:34 +0100 Subject: [PATCH 51/59] init from correct repo --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 74757ade..18304920 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,7 @@ jobs: - name: Extract Cargo package version id: cargo_version run: | + cd recover-id-object VERSION=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version') echo "Extracted version is $VERSION" echo "::set-output name=version::$VERSION" From 7fa56722c47ffb6fd88631b309fef9fc43a83a22 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:34:38 +0100 Subject: [PATCH 52/59] use correct path in dockerifle --- recover-id-object/.dockerignore | 8 ++++++++ recover-id-object/scripts/Dockerfile | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 recover-id-object/.dockerignore diff --git a/recover-id-object/.dockerignore b/recover-id-object/.dockerignore new file mode 100644 index 00000000..45e725c4 --- /dev/null +++ b/recover-id-object/.dockerignore @@ -0,0 +1,8 @@ +# Assumes docker context is repository root, i.e. ../../ relative to this file. +* +!deps/concordium-rust-sdk +deps/concordium-rust-sdk/target +!recover-id-object/* +recover-id-object/target +recover-id-object/scripts +recover-id-object/*.md diff --git a/recover-id-object/scripts/Dockerfile b/recover-id-object/scripts/Dockerfile index ea15e0d2..d9d7646a 100644 --- a/recover-id-object/scripts/Dockerfile +++ b/recover-id-object/scripts/Dockerfile @@ -4,7 +4,7 @@ FROM ${build_image} AS build WORKDIR /usr/app/recover-id-object -COPY recover-id-object/* . +COPY recover-id-object . COPY deps /usr/app/deps RUN cargo build --release --locked From 1830121ca16bc846dc3ea266af5e78e2e04214d1 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:52:18 +0100 Subject: [PATCH 53/59] changed environment --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 18304920..a06cde94 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,7 @@ jobs: build-and-push: if: startsWith(github.ref, 'refs/tags/recover-id-object/') runs-on: ubuntu-latest - environment: production + environment: release-recover-id-object steps: - name: Check out the repo uses: actions/checkout@v4 From f8e932cbfcb89e91dba985540f8b24861226bc31 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Tue, 13 Feb 2024 15:56:42 +0100 Subject: [PATCH 54/59] trigger alike the rest of the workflows --- .github/workflows/release.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a06cde94..a94e3ca3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,7 @@ name: Release workflow on: - release: - types: [published] + workflow_dispatch: env: RUST_VERSION: rust:1.70-buster @@ -10,7 +9,6 @@ env: jobs: build-and-push: - if: startsWith(github.ref, 'refs/tags/recover-id-object/') runs-on: ubuntu-latest environment: release-recover-id-object steps: From 4e8f6bcf0eae8e5a0b6af7dabdd22181900bf9a5 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Wed, 14 Feb 2024 21:43:11 +0100 Subject: [PATCH 55/59] added ca-certificate --- recover-id-object/scripts/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recover-id-object/scripts/Dockerfile b/recover-id-object/scripts/Dockerfile index d9d7646a..3d741fc5 100644 --- a/recover-id-object/scripts/Dockerfile +++ b/recover-id-object/scripts/Dockerfile @@ -14,11 +14,11 @@ WORKDIR /usr/app COPY --from=build /usr/app/recover-id-object/target/release/recover-id-object ./recover-id-object -RUN groupadd -g 10001 appuser && \ - useradd --system --no-create-home -u 10000 -g appuser appuser && \ - chown -R appuser:appuser /usr/app +RUN apt-get update && \ + apt-get -y install \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* -USER appuser:appuser RUN chmod +x recover-id-object ENTRYPOINT ["./recover-id-object"] From 80efab3c21902a44c792c9ed1c289a358d11a352 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Wed, 14 Feb 2024 21:45:27 +0100 Subject: [PATCH 56/59] temp add release as the publish --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a94e3ca3..11e5bb45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,8 @@ name: Release workflow on: - workflow_dispatch: + release: + types: [published] env: RUST_VERSION: rust:1.70-buster From bf478cd1a7df156046bd49a5b189429ff87f80a1 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Wed, 14 Feb 2024 22:15:29 +0100 Subject: [PATCH 57/59] readd workflow dispatch --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 11e5bb45..a94e3ca3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,7 @@ name: Release workflow on: - release: - types: [published] + workflow_dispatch: env: RUST_VERSION: rust:1.70-buster From ef52df83effdd6348dd2d2833d9d9fcda72b4af6 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Thu, 15 Feb 2024 09:15:33 +0100 Subject: [PATCH 58/59] remove md file as they are sometimes referenced from within the binary --- recover-id-object/.dockerignore | 1 - 1 file changed, 1 deletion(-) diff --git a/recover-id-object/.dockerignore b/recover-id-object/.dockerignore index 45e725c4..8c25caad 100644 --- a/recover-id-object/.dockerignore +++ b/recover-id-object/.dockerignore @@ -5,4 +5,3 @@ deps/concordium-rust-sdk/target !recover-id-object/* recover-id-object/target recover-id-object/scripts -recover-id-object/*.md From 6e83fc9a5ec77a20d2afe5872aebc572133bcd00 Mon Sep 17 00:00:00 2001 From: Lasse Alm Date: Thu, 15 Feb 2024 09:16:44 +0100 Subject: [PATCH 59/59] updated dockerignore --- recover-id-object/.dockerignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recover-id-object/.dockerignore b/recover-id-object/.dockerignore index 8c25caad..770240e7 100644 --- a/recover-id-object/.dockerignore +++ b/recover-id-object/.dockerignore @@ -1,4 +1,4 @@ -# Assumes docker context is repository root, i.e. ../../ relative to this file. +# Assumes docker context is repository root, i.e. ../ relative to this file. * !deps/concordium-rust-sdk deps/concordium-rust-sdk/target