From 19e90f9a9be1f29ba4482ecf102823fb88bd1d2c Mon Sep 17 00:00:00 2001 From: Priyanshu Kumar Date: Wed, 14 Oct 2026 16:33:04 +0530 Subject: [PATCH] CI and docs: checkout v7, upload-artifact v7, download-artifact v8; Rust 1.99 and the lint nightly named Downloads go by name and pattern, so download-artifact v5's by-id path change does not apply; v8 fails on a digest mismatch, which it should. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 62 ++++++++++++++++++------------------ BUILDING.md | 2 +- README.md | 2 +- doc/rewrite_quality_gates.md | 2 +- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e58e6f9..25b2014c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,7 +93,7 @@ jobs: run: | sudo nohup rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL \ >/dev/null 2>&1 & - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install the toolchain the repository pins run: rustup toolchain install --profile minimal --component rustfmt,clippy # r2rewrite's rule proofs link Z3. @@ -134,7 +134,7 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 20 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install the toolchain the lints pin run: | channel="$(sed -n 's/^channel = "\(.*\)"/\1/p' tools/dylints/r2sleigh_lints/rust-toolchain)" @@ -162,7 +162,7 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 15 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install the toolchain the repository pins run: rustup toolchain install --profile minimal - uses: Swatinem/rust-cache@v2 @@ -170,7 +170,7 @@ jobs: shared-key: ci-shell - name: Build run: cargo build --profile ci -p r2s --features sleigh - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: r2s path: target/ci/r2s @@ -182,7 +182,7 @@ jobs: mkdir -p target/count cargo build --profile ci -p r2s --features sleigh,alloc-count cp target/ci/r2s target/count/r2s - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: r2s-count path: target/count/r2s @@ -199,8 +199,8 @@ jobs: needs: build timeout-minutes: 10 steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: name: r2s path: target/ci @@ -245,8 +245,8 @@ jobs: needs: build timeout-minutes: 40 steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: name: r2s path: target/ci @@ -284,10 +284,10 @@ jobs: if: needs.plan.outputs.full == 'true' && github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' timeout-minutes: 40 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: fetch-depth: 0 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: name: r2s path: ${{ runner.temp }}/head @@ -308,7 +308,7 @@ jobs: --manifest-path "$RUNNER_TEMP/base-src/Cargo.toml" mkdir -p "$RUNNER_TEMP/base" cp target/ci/r2s "$RUNNER_TEMP/base/r2s" - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: name: r2s-count path: ${{ runner.temp }}/head-count @@ -354,8 +354,8 @@ jobs: needs: build timeout-minutes: 10 steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: name: r2s path: target/ci @@ -374,7 +374,7 @@ jobs: --json target/source-gold/report.json - name: Archive the source-gold report if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: source-gold-${{ github.run_id }}-${{ github.run_attempt }} path: target/source-gold/report.json @@ -389,7 +389,7 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 8 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: The harness's contracts, classifier, ratchet and builds run: | tests/equiv/bounded.sh 300 \ @@ -433,8 +433,8 @@ jobs: - name: shapes sources: tests/corpus/shapes.c steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: name: r2s path: target/ci @@ -452,7 +452,7 @@ jobs: --opts ${{ matrix.opt }} \ --jobs 4 \ --out "$RUNNER_TEMP/equiv" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 if: always() with: name: equiv-shard-${{ matrix.compiler }}-${{ matrix.opt }}-${{ matrix.part.name }} @@ -470,8 +470,8 @@ jobs: if: ${{ !cancelled() && needs.plan.outputs.full == 'true' }} timeout-minutes: 5 steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: pattern: equiv-shard-* path: ${{ runner.temp }}/shards @@ -483,7 +483,7 @@ jobs: "$RUNNER_TEMP"/shards/*/records.json - name: Archive the records and the proposed baseline if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: equivalence-${{ github.run_id }}-${{ github.run_attempt }} path: | @@ -514,8 +514,8 @@ jobs: - name: shapes sources: tests/corpus/shapes.c steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: name: r2s path: target/ci @@ -547,7 +547,7 @@ jobs: --opts ${{ matrix.opt }} \ --jobs 4 \ --out "$RUNNER_TEMP/equiv" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 if: always() with: name: equiv-aarch64-shard-${{ matrix.compiler }}-${{ matrix.opt }}-${{ matrix.part.name }} @@ -565,8 +565,8 @@ jobs: if: ${{ !cancelled() && needs.plan.outputs.full == 'true' }} timeout-minutes: 5 steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 with: pattern: equiv-aarch64-shard-* path: ${{ runner.temp }}/shards @@ -578,7 +578,7 @@ jobs: "$RUNNER_TEMP"/shards/*/records.json - name: Archive the records and the proposed baseline if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: equivalence-aarch64-${{ github.run_id }}-${{ github.run_attempt }} path: | @@ -605,7 +605,7 @@ jobs: if: needs.plan.outputs.full == 'true' timeout-minutes: 15 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install the toolchain the repository pins run: rustup toolchain install --profile minimal - uses: Swatinem/rust-cache@v2 @@ -617,7 +617,7 @@ jobs: run: ./tests/coverage/run_coverage.sh - name: Archive coverage report if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: coverage-${{ github.run_id }}-${{ github.run_attempt }} path: tests/coverage/artifacts/coverage.json @@ -631,7 +631,7 @@ jobs: needs: [quality, capture-gate, source-gold, equivalence-harness, equivalence, equivalence-aarch64, coverage] if: github.ref == 'refs/heads/master' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install the toolchain the repository pins run: rustup toolchain install --profile minimal - uses: Swatinem/rust-cache@v2 diff --git a/BUILDING.md b/BUILDING.md index b84e5920..e9f3217b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -3,7 +3,7 @@ Building r2sleigh | Dependency | Version | Notes | |------------|---------|-------| -| Rust | 1.85+ | edition 2024, via [rustup](https://rustup.rs/) | +| Rust | 1.99 | edition 2024, via [rustup](https://rustup.rs/); `rust-toolchain.toml` pins it | | radare2 | 5.9+ | optional; only the differential harnesses run it | | Z3 | 4.8+ | optional | diff --git a/README.md b/README.md index dfb28822..8d332d10 100644 --- a/README.md +++ b/README.md @@ -95,5 +95,5 @@ Documentation Requirements ------------ -Rust 1.85+ (edition 2024). radare2 only for the differential harnesses. Z3 +Rust 1.99 (edition 2024, pinned in `rust-toolchain.toml`). radare2 only for the differential harnesses. Z3 optional. License: LGPL-3.0-only. diff --git a/doc/rewrite_quality_gates.md b/doc/rewrite_quality_gates.md index ec08d994..bd3e4557 100644 --- a/doc/rewrite_quality_gates.md +++ b/doc/rewrite_quality_gates.md @@ -43,7 +43,7 @@ cargo install --locked kani-verifier cargo install --locked cargo-mutants rustup toolchain install nightly rustup component add rustfmt clippy -rustup toolchain install nightly-2026-04-16 --component rustc-dev --component llvm-tools-preview +rustup toolchain install nightly-2026-10-01 --component rustc-dev --component llvm-tools-preview ``` The Dylint toolchain is pinned in `tools/dylints/r2sleigh_lints/rust-toolchain`.