From 9cb6c559f4611432ece85ef66aa3c0ee3b8b4093 Mon Sep 17 00:00:00 2001 From: teor Date: Mon, 26 Sep 2022 22:37:23 +1000 Subject: [PATCH] fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs (#5251) * Try running coverage with Rust 1.63 * Run GitHub Actions tests with Rust 1.63 * Change from stable to 1.63 in the patch file * Use Rust 1.63 to download Zcash parameters * Use Rust 1.63 to build Docker zebrad images * Make Rust 1.63 a supported platform, and make stable temporarily unsupported --- .github/workflows/continous-integration-os.patch.yml | 2 +- .github/workflows/continous-integration-os.yml | 3 ++- .github/workflows/coverage.yml | 3 ++- book/src/user/supported-platforms.md | 9 +++++++++ docker/Dockerfile | 2 +- docker/zcash-params/Dockerfile | 2 +- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/continous-integration-os.patch.yml b/.github/workflows/continous-integration-os.patch.yml index 8f9018b52..d3bb7733b 100644 --- a/.github/workflows/continous-integration-os.patch.yml +++ b/.github/workflows/continous-integration-os.patch.yml @@ -21,7 +21,7 @@ jobs: matrix: # TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801 os: [ubuntu-latest, macos-latest] - rust: [stable, beta] + rust: [1.63, beta] exclude: - os: macos-latest rust: beta diff --git a/.github/workflows/continous-integration-os.yml b/.github/workflows/continous-integration-os.yml index cc275fdd7..1fb35ff03 100644 --- a/.github/workflows/continous-integration-os.yml +++ b/.github/workflows/continous-integration-os.yml @@ -64,7 +64,8 @@ jobs: matrix: # TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801 os: [ubuntu-latest, macos-latest] - rust: [stable, beta] + # Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners + rust: [1.63, beta] exclude: # TODO: re-enable beta Rust tests on ubuntu (#4929) - os: ubuntu-latest diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 9fc690558..f957c4f44 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -61,7 +61,8 @@ jobs: - uses: actions-rs/toolchain@v1.0.7 with: - toolchain: stable + # Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners + toolchain: 1.63 override: true profile: minimal components: llvm-tools-preview diff --git a/book/src/user/supported-platforms.md b/book/src/user/supported-platforms.md index c51e621cb..4724e9630 100644 --- a/book/src/user/supported-platforms.md +++ b/book/src/user/supported-platforms.md @@ -15,6 +15,15 @@ ensures that each tier 1 platform builds and passes tests after each change. For the full requirements, see [Tier 1 platform policy](platform-tier-policy.md#tier-1-platform-policy) in the Platform Tier Policy. +| platform | os | notes | rust | artifacts +| -------|-------|-------|-------|------- +| `x86_64-unknown-linux-gnu` | [Debian 11](https://www.debian.org/releases/bullseye/) | 64-bit | [1.63](https://github.com/rust-lang/rust/releases) | Docker + +### Temporarily Unsupported + +Zcash parameter downloads currently [hang when built with Rust 1.64 and later](https://github.com/ZcashFoundation/zebra/issues/5091). +Those Rust versions are unsupported until that bug is fixed. + | platform | os | notes | rust | artifacts | -------|-------|-------|-------|------- | `x86_64-unknown-linux-gnu` | [Debian 11](https://www.debian.org/releases/bullseye/) | 64-bit | [latest stable release](https://github.com/rust-lang/rust/releases) | Docker diff --git a/docker/Dockerfile b/docker/Dockerfile index 16281827d..62f4d8400 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -7,7 +7,7 @@ # - runtime: is our runtime environment # # This stage implements cargo-chef for docker layer caching -FROM rust:bullseye as chef +FROM rust:1.63-bullseye as chef RUN cargo install cargo-chef --locked WORKDIR /opt/zebrad diff --git a/docker/zcash-params/Dockerfile b/docker/zcash-params/Dockerfile index 1036a2be4..70a858c69 100644 --- a/docker/zcash-params/Dockerfile +++ b/docker/zcash-params/Dockerfile @@ -1,6 +1,6 @@ # This steps implement cargo-chef for docker layer caching # This image is for caching Zcash Sprout and Sapling parameters -FROM rust:bullseye as chef +FROM rust:1.63-bullseye as chef RUN cargo install cargo-chef --locked WORKDIR /opt/zebrad