From 6f0a07c52ee58caafe3a7db1648376605b2d49a3 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Mon, 16 Dec 2024 13:02:50 +0100 Subject: [PATCH 1/5] Script/Images: upgrade [python] version to 3.12.8 --- scripts/version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/version.sh b/scripts/version.sh index 69f39ca3e85c..e56eec1abeed 100644 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -56,7 +56,7 @@ export cargo_version='1.78.0' export opam_version='2.2.1' # Installed via apk python3-dev -export python_version='3.12.6' +export python_version='3.12.8' # Installed via apk export poetry_version='1.8.3' -- GitLab From b30a4e04c6497e2110151679c62f29daf6480dff Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Mon, 16 Dec 2024 13:49:25 +0100 Subject: [PATCH 2/5] Images/CI: add [scripts/version.sh] in [inputs] If some value in [version.sh] is modified, then the CI images should most likely be rebuilt. The rebuild of Docker images is parameterised by the hash of files listed in [images/ci/inputs]. If any of the files listed changes, then the hash will change and the CI jobs [oc.docker:ci:] will rebuild the images. Adding [scripts/version.sh] in [inputs] will thus trigger the rebuilt when any of the values hardcoded in [version.sh] changes. --- images/ci/inputs | 1 + 1 file changed, 1 insertion(+) diff --git a/images/ci/inputs b/images/ci/inputs index 53a230536356..90ba4fbafaa7 100644 --- a/images/ci/inputs +++ b/images/ci/inputs @@ -6,3 +6,4 @@ poetry.lock opam/virtual/octez-deps.opam.locked images/common/install-nvm.sh scripts/install_dal_trusted_setup.sh +scripts/version.sh -- GitLab From 4585ec612fba532384d98f0b27fffc153c909ef6 Mon Sep 17 00:00:00 2001 From: Bruno Bernardo Date: Mon, 16 Dec 2024 14:09:35 +0100 Subject: [PATCH 3/5] Images/CI: force update of Alpine package list in [CI.runtime] We have noticed then when rebuilding [CI.runtime] images, the latest version of alpine packages was not used. This is probably because a cached version of the layers is used by [docker build]. Cf. e.g https://gitlab.com/tezos/tezos/-/jobs/8653365791#L106 To circumvent this we add the [apk upate] instructions when adding packages in [CI.runtime]. Another possibility would have been to modify [create_ci_images.sh] by using the [--no-cache] option in the call of [docker build], but this may involve unnecessary recomputations. --- images/ci/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/images/ci/Dockerfile b/images/ci/Dockerfile index 85db2084bce9..65054f52a33f 100644 --- a/images/ci/Dockerfile +++ b/images/ci/Dockerfile @@ -49,7 +49,8 @@ RUN echo 'tezos:x:1000:tezos' >> /etc/group \ COPY ./zcash-params/sapling-output.params ./zcash-params/sapling-spend.params /usr/share/zcash-params/ # hadolint ignore=DL3018 -RUN apk --no-cache add \ +RUN apk update \ + && apk add --no-cache \ binutils \ gcc \ gmp \ -- GitLab From d8bc921b61935ac4589d60799dce34d819a6cd59 Mon Sep 17 00:00:00 2001 From: Victor Dumitrescu Date: Mon, 9 Dec 2024 17:52:06 +0100 Subject: [PATCH 4/5] RISC-V: Bump version of `url` cargo dependency --- src/riscv/Cargo.lock | 291 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 270 insertions(+), 21 deletions(-) diff --git a/src/riscv/Cargo.lock b/src/riscv/Cargo.lock index 871f7b08bf47..bc426ef4d5a3 100644 --- a/src/riscv/Cargo.lock +++ b/src/riscv/Cargo.lock @@ -614,6 +614,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + [[package]] name = "dlmalloc" version = "0.2.6" @@ -947,14 +958,143 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1091,6 +1231,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "lock_api" version = "0.4.12" @@ -2090,6 +2236,12 @@ dependencies = [ "syn 2.0.65", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -2170,6 +2322,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + [[package]] name = "tap" version = "1.0.1" @@ -2461,6 +2624,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.6.1" @@ -2546,27 +2719,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-segmentation" version = "1.11.0" @@ -2613,15 +2771,27 @@ dependencies = [ [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.1" @@ -2913,6 +3083,18 @@ dependencies = [ "memchr", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wyz" version = "0.5.1" @@ -2939,6 +3121,30 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.34" @@ -2959,6 +3165,27 @@ dependencies = [ "syn 2.0.65", ] +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", + "synstructure", +] + [[package]] name = "zeroize" version = "1.7.0" @@ -2978,3 +3205,25 @@ dependencies = [ "quote", "syn 2.0.65", ] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] -- GitLab From e76bfa8bb6998ae887271a9d9e9ade2b34adb6fc Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Wed, 27 Nov 2024 18:29:29 +0100 Subject: [PATCH 5/5] Docker: Quick and dirty fix to restore Docker image generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The generation of Docker images have been failing for a while now, with the following error: ### Important packages version cargo: expected 1.77.2, got 1.78.0 ❌ rust: expected 1.77.2, got 1.78.0 ❌ opam: expected 2.2.1, got 2.3.0 ❌ ocaml: 4.14.2 ✅ python: 3.12.7 ✅ poetry: 1.8.3 ✅ For opam, the reason is easy to track. It is because we are relying on the Edge repository to get a more recent version of Opam compared to what is packaged in Alpine 3.20. For Rust, the rabbit hole was a lot deeper. In a nutshell, up until a month ago, we were careful to sync our recommended version of Rust with the one packaged in Alpine. We had to break this invariant because of a regression in Rust 1.78 that were affecting some jobs running on Arm64, and so we have [downgraded] the recommended version to 1.77.2. This fixed the failing jobs, but this introduced the Docker generation image error. Why, you ask? because the CI is actually not using `rustup` to get setup Rust, and is still relying on the `rust` package of Alpine. We tried moving to using `rustup`, but failed eventually because Rust on Alpine is actually patched to work as expected. Specifically, Rust from `rustup` won’t be able to generate `.so` files on Alpine, which are necessary for our build system. In the end, the easiest way to move forward and generate Docker images smoothly again[^1], we propose to just stop checking the versions of Rust and Cargo installed in the Docker images. [downgraded]: https://gitlab.com/tezos/tezos/-/merge_requests/15343 [^1]: Fun story. If you retry a failed Docker image generation job today, the job will succeed. This is because the images generated previously have been published, and so the job just uses them and does not check the versions again. --- images/ci/scripts/check_versions.sh | 6 ------ scripts/version.sh | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/images/ci/scripts/check_versions.sh b/images/ci/scripts/check_versions.sh index 1ed38b7fe4f6..ff83ccac67d7 100755 --- a/images/ci/scripts/check_versions.sh +++ b/images/ci/scripts/check_versions.sh @@ -52,12 +52,6 @@ check_version_in_test_dependency_image() { echo "### Important packages version" - current_cargo_version=$(${run} cargo --version | awk '{print $2}') - check_version cargo "${current_cargo_version}" "${cargo_version}" - - current_rust_version=$(${run} rustc --version | awk '{print $2}') - check_version rust "${current_rust_version}" "${rust_version}" - current_opam_version=$(${run} opam --version) check_version opam "${current_opam_version}" "${opam_version}" diff --git a/scripts/version.sh b/scripts/version.sh index e56eec1abeed..9b16212a49df 100644 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -53,7 +53,7 @@ export rust_version='1.78.0' export cargo_version='1.78.0' # Installed via apk opam -export opam_version='2.2.1' +export opam_version='2.3.0' # Installed via apk python3-dev export python_version='3.12.8' -- GitLab