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: matrix:
# TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801 # TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
rust: [1.63, beta] rust: [stable, beta]
exclude: exclude:
- os: macos-latest - os: macos-latest
rust: beta rust: beta

View File

@ -64,12 +64,8 @@ jobs:
matrix: matrix:
# TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801 # TODO: Windows was removed for now, see https://github.com/ZcashFoundation/zebra/issues/3801
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
# Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners rust: [stable, beta]
rust: [1.63, beta]
exclude: exclude:
# TODO: re-enable beta Rust tests on ubuntu (#4929)
- os: ubuntu-latest
rust: beta
# We're excluding macOS for the following reasons: # We're excluding macOS for the following reasons:
# - the concurrent macOS runner limit is much lower than the Linux limit # - 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 # - 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 - uses: actions-rs/toolchain@v1.0.7
with: with:
# Rust 1.64 hangs when downloading the Zcash Parameters on GitHub Actions runners toolchain: stable
toolchain: 1.63
override: true override: true
profile: minimal profile: minimal
components: llvm-tools-preview components: llvm-tools-preview

View File

@ -11,9 +11,9 @@
- [Contents](#contents) - [Contents](#contents)
- [About](#about) - [About](#about)
- [Using Zebra](#using-zebra) - [Using Zebra](#using-zebra)
- [Beta Releases](#beta-releases) - [Release Candidates](#release-candidates)
- [Getting Started](#getting-started) - [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) - [Configuring JSON-RPC for lightwalletd](#configuring-json-rpc-for-lightwalletd)
- [Optional Features](#optional-features) - [Optional Features](#optional-features)
- [System Requirements](#system-requirements) - [System Requirements](#system-requirements)
@ -88,9 +88,10 @@ To run `zebrad`, follow the instructions to compile `zebrad`
for your platform: for your platform:
1. Install [`cargo` and `rustc`](https://www.rust-lang.org/tools/install). 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 tested with the latest `stable` Rust version.
Zebra is also tested with the latest `stable` Rust version. Earlier versions are not supported or tested.
Earlier versions are not supported or tested. Any Zebra release can remove support for older Rust versions, without any notice. 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: 2. Install Zebra's build dependencies:
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager - **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC` - **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 for a short period of time because Zebra will quickly find out that it's
still not close to the tip. 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 stable.
- 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.
- No Windows support [#3801](https://github.com/ZcashFoundation/zebra/issues/3801) - 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 - 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. 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 | 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 | `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 # - runtime: is our runtime environment
# #
# This stage implements cargo-chef for docker layer caching # 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 RUN cargo install cargo-chef --locked
WORKDIR /opt/zebrad WORKDIR /opt/zebrad

View File

@ -1,6 +1,6 @@
# This steps implement cargo-chef for docker layer caching # This steps implement cargo-chef for docker layer caching
# This image is for caching Zcash Sprout and Sapling parameters # 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 RUN cargo install cargo-chef --locked
WORKDIR /opt/zebrad WORKDIR /opt/zebrad