fix(build): restore Rust stable in builds and beta for CI (#5515)

* Revert "fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs (#5251)"

This reverts commit 9cb6c559f4.

* Revert "Require Rust 1.63 in the README (#5359)"

This reverts commit ee0edef857.

* Revert "Revert "ci(build): re-enable Rust beta tests in ubuntu (#5024)" (#5090)"

This reverts commit 579d6be4e9.
This commit is contained in:
Gustavo Valverde 2022-10-31 20:51:29 -04:00 committed by GitHub
parent 19cb670614
commit bbbd56d7ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 12 additions and 26 deletions

View File

@ -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: [1.63, beta]
rust: [stable, beta]
exclude:
- os: macos-latest
rust: beta

View File

@ -64,12 +64,8 @@ jobs:
matrix:
# TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801
os: [ubuntu-latest, macos-latest]
# Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners
rust: [1.63, beta]
rust: [stable, beta]
exclude:
# TODO: re-enable beta Rust tests on ubuntu (#4929)
- os: ubuntu-latest
rust: beta
# We're excluding macOS for the following reasons:
# - the concurrent macOS runner limit is much lower than the Linux limit
# - macOS is slower than Linux, and shouldn't have a build or test difference with Linux

View File

@ -61,8 +61,7 @@ jobs:
- uses: actions-rs/toolchain@v1.0.7
with:
# Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners
toolchain: 1.63
toolchain: stable
override: true
profile: minimal
components: llvm-tools-preview

View File

@ -11,9 +11,9 @@
- [Contents](#contents)
- [About](#about)
- [Using Zebra](#using-zebra)
- [Beta Releases](#beta-releases)
- [Release Candidates](#release-candidates)
- [Getting Started](#getting-started)
- [Build and Run Instructions](#build-and-run-instructions)
- [Build Instructions](#build-instructions)
- [Configuring JSON-RPC for lightwalletd](#configuring-json-rpc-for-lightwalletd)
- [Optional Features](#optional-features)
- [System Requirements](#system-requirements)
@ -88,9 +88,10 @@ To run `zebrad`, follow the instructions to compile `zebrad`
for your platform:
1. Install [`cargo` and `rustc`](https://www.rust-lang.org/tools/install).
- Zebra requires Rust 1.63, due to [a compiler performance regression in Rust 1.64](https://github.com/ZcashFoundation/zebra/issues/5091).
Zebra is also tested with the latest `stable` Rust version.
Earlier versions are not supported or tested. Any Zebra release can remove support for older Rust versions, without any notice.
- Zebra is tested with the latest `stable` Rust version.
Earlier versions are not supported or tested.
Any Zebra release can remove support for older Rust versions, without any notice.
(Rust 1.59 and earlier are definitely not supported, due to missing features.)
2. Install Zebra's build dependencies:
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC`
@ -231,8 +232,7 @@ There are a few bugs in Zebra that we're still working on fixing:
for a short period of time because Zebra will quickly find out that it's
still not close to the tip.
- Zebra requires Rust 1.63, due to [a compiler performance regression in Rust 1.64](https://github.com/ZcashFoundation/zebra/issues/5091)
- If Zebra fails downloading the Zcash parameters, use [the Zcash parameters download script](https://github.com/zcash/zcash/blob/master/zcutil/fetch-params.sh) instead. This script might be needed on macOS, even with Rust 1.63.
- If Zebra fails downloading the Zcash parameters, use [the Zcash parameters download script](https://github.com/zcash/zcash/blob/master/zcutil/fetch-params.sh) instead. This script might be needed on macOS, even with Rust stable.
- No Windows support [#3801](https://github.com/ZcashFoundation/zebra/issues/3801)
- We used to test with Windows Server 2019, but not anymore; see issue for details

View File

@ -15,15 +15,6 @@ 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

View File

@ -7,7 +7,7 @@
# - runtime: is our runtime environment
#
# This stage implements cargo-chef for docker layer caching
FROM rust:1.63-bullseye as chef
FROM rust:bullseye as chef
RUN cargo install cargo-chef --locked
WORKDIR /opt/zebrad

View File

@ -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:1.63-bullseye as chef
FROM rust:bullseye as chef
RUN cargo install cargo-chef --locked
WORKDIR /opt/zebrad