Skip to content

Commit

Permalink
fix(build): restore Rust stable in builds and beta for CI (#5515)
Browse files Browse the repository at this point in the history
* Revert "fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs (#5251)"

This reverts commit 9cb6c55.

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

This reverts commit ee0edef.

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

This reverts commit 579d6be.
  • Loading branch information
gustavovalverde authored Nov 1, 2022
1 parent 19cb670 commit bbbd56d
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/continous-integration-os.patch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/continous-integration-os.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ jobs:

- uses: actions-rs/[email protected]
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
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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`
Expand Down Expand Up @@ -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

Expand Down
9 changes: 0 additions & 9 deletions book/src/user/supported-platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docker/zcash-params/Dockerfile
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit bbbd56d

Please sign in to comment.