From 09dae82a03d8689e6cd6b8f832704c8a049f6fa4 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Thu, 16 Apr 2026 10:41:38 +0200 Subject: [PATCH] ci: MSRV 1.69 -> 1.93 --- .github/workflows/build.yml | 20 ++++++++++++-------- .github/workflows/depends.yml | 13 ++++++------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de92d905c..6aeaae92b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ env: REMOVE_BUNDLED_PACKAGES : sudo rm -rf /usr/local # ARCH="default" (not "native") ensures, that a different execution host can execute binaries compiled elsewhere. BUILD_DEFAULT_LINUX: 'cmake -S . -B build -D ARCH="default" -D BUILD_TESTS=ON -D ENABLE_FUZZ_TEST=ON -D CMAKE_BUILD_TYPE=Release && cmake --build build --target all && cmake --build build --target wallet_api' - APT_INSTALL_LINUX: 'apt -y install build-essential cargo cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler ccache curl git' + APT_INSTALL_LINUX: 'apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler ccache curl git' APT_SET_CONF: | tee -a /etc/apt/apt.conf.d/80-custom << EOF Acquire::Retries "3"; @@ -26,6 +26,12 @@ env: ccache --max-size=150M ccache --set-config=compression=true USE_DEVICE_TREZOR_MANDATORY: ON + INSTALL_RUST: | + curl -O https://static.rust-lang.org/rustup/archive/1.29.0/x86_64-unknown-linux-gnu/rustup-init + echo "4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10 rustup-init" | sha256sum -c + chmod +x rustup-init + ./rustup-init -y --default-toolchain 1.93 + echo "$HOME/.cargo/bin" >> $GITHUB_PATH jobs: build-macos: @@ -116,13 +122,7 @@ jobs: - name: install monero dependencies run: ${{env.APT_INSTALL_LINUX}} - name: install rust - # Debian 11 ships Rust 1.48.0. We need >=1.69 to build FCMP++. - run: | - curl -O https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init - echo "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d rustup-init" | sha256sum -c - chmod +x rustup-init - ./rustup-init -y --default-toolchain 1.69 - echo "$HOME/.cargo/bin" >> $GITHUB_PATH + run: ${{env.INSTALL_RUST}} - name: configure git run: git config --global --add safe.directory '*' - uses: actions/checkout@v5 @@ -157,6 +157,8 @@ jobs: run: apt update - name: install monero dependencies run: ${{env.APT_INSTALL_LINUX}} + - name: install rust + run: ${{env.INSTALL_RUST}} - name: configure git run: git config --global --add safe.directory '*' - uses: actions/checkout@v5 @@ -200,6 +202,8 @@ jobs: run: apt update - name: install monero dependencies run: ${{env.APT_INSTALL_LINUX}} + - name: install rust + run: ${{env.INSTALL_RUST}} - name: install pip run: apt install -y python3-pip - name: install Python dependencies diff --git a/.github/workflows/depends.yml b/.github/workflows/depends.yml index 31bbb55da..3ed8cbccf 100644 --- a/.github/workflows/depends.yml +++ b/.github/workflows/depends.yml @@ -26,7 +26,7 @@ jobs: build-cross: runs-on: ubuntu-latest container: - image: ubuntu:22.04 + image: ${{ matrix.toolchain.container || 'ubuntu:22.04' }} env: DEBIAN_FRONTEND: noninteractive CCACHE_TEMPDIR: /tmp/.ccache-temp @@ -38,6 +38,7 @@ jobs: host: "riscv64-linux-gnu" rust_host: "riscv64gc-unknown-linux-gnu" packages: "g++-riscv64-linux-gnu" + container: "ubuntu:26.04" # RandomX v2 requires GCC 14 or above for riscv64 - name: "ARM v8" host: "aarch64-linux-gnu" rust_host: "aarch64-unknown-linux-gnu" @@ -50,6 +51,7 @@ jobs: host: "x86_64-w64-mingw32" rust_host: "x86_64-pc-windows-gnu" packages: "g++-mingw-w64-x86-64" + container: "ubuntu:24.04" # Rust >= 1.70 requires binutils >= 2.40 - name: "x86_64 Linux" host: "x86_64-unknown-linux-gnu" rust_host: "x86_64-unknown-linux-gnu" @@ -91,14 +93,11 @@ jobs: - name: install dependencies run: apt update; apt -y install build-essential cmake pkg-config git ccache ${{ matrix.toolchain.packages }} - name: install rust - # We can't use the latest Rust due to LLVM 17 not working with old `ld`s (such as in Ubuntu 20.04) for RISC-V - # We could update ld (a pain), update Ubuntu (requires a large amount of changes), or downgrade Rust - # We can't use Rust 1.70 due to LLVM 16 requiring ld >= 2.40 when building for Windows run: | - curl -O https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init - echo "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d rustup-init" | sha256sum -c + curl -O https://static.rust-lang.org/rustup/archive/1.29.0/x86_64-unknown-linux-gnu/rustup-init + echo "4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10 rustup-init" | sha256sum -c chmod +x rustup-init - ./rustup-init -y --default-toolchain 1.69 --target ${{ matrix.toolchain.rust_host }} + ./rustup-init -y --default-toolchain 1.93 --target ${{ matrix.toolchain.rust_host }} echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: configure git run: git config --global --add safe.directory '*'