From 38c0b46006f2ec89d982c05a7e3f20dd98540501 Mon Sep 17 00:00:00 2001 From: Nimrod Weiss Date: Wed, 7 Aug 2024 13:29:07 +0300 Subject: [PATCH] feat(ci): make rust version in ci configurable --- .github/workflows/blockifier_ci.yml | 4 +-- .../workflows/blockifier_compiled_cairo.yml | 2 +- .github/workflows/blockifier_coverage.yml | 2 +- .github/workflows/blockifier_post-merge.yml | 2 +- .github/workflows/committer_ci.yml | 4 +-- .github/workflows/install_rust.yml | 25 +++++++++++++++++++ .github/workflows/main.yml | 10 ++++---- .github/workflows/papyrus_ci.yml | 12 ++++----- .../workflows/papyrus_nightly-tests-call.yml | 2 +- .github/workflows/papyrus_nightly-tests.yml | 10 ++++---- .github/workflows/verify-deps.yml | 2 +- 11 files changed, 50 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/install_rust.yml diff --git a/.github/workflows/blockifier_ci.yml b/.github/workflows/blockifier_ci.yml index 025225cb640..8bb1b2e3805 100644 --- a/.github/workflows/blockifier_ci.yml +++ b/.github/workflows/blockifier_ci.yml @@ -29,7 +29,7 @@ jobs: runs-on: starkware-ubuntu-20-04-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 with: prefix-key: "v0-rust-ubuntu-20.04" @@ -40,7 +40,7 @@ jobs: runs-on: starkware-ubuntu-20-04-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 with: diff --git a/.github/workflows/blockifier_compiled_cairo.yml b/.github/workflows/blockifier_compiled_cairo.yml index e2eed9636fd..db41976fb04 100644 --- a/.github/workflows/blockifier_compiled_cairo.yml +++ b/.github/workflows/blockifier_compiled_cairo.yml @@ -23,7 +23,7 @@ jobs: runs-on: starkware-ubuntu-20-04-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Noelware/setup-protoc@1.1.0 - uses: Swatinem/rust-cache@v2 with: diff --git a/.github/workflows/blockifier_coverage.yml b/.github/workflows/blockifier_coverage.yml index 1da1cdbbf24..6fd8fb23da9 100644 --- a/.github/workflows/blockifier_coverage.yml +++ b/.github/workflows/blockifier_coverage.yml @@ -17,7 +17,7 @@ jobs: CARGO_TERM_COLOR: always steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 with: prefix-key: "v0-rust-ubuntu-20.04" diff --git a/.github/workflows/blockifier_post-merge.yml b/.github/workflows/blockifier_post-merge.yml index 404ed096809..4aaba492d36 100644 --- a/.github/workflows/blockifier_post-merge.yml +++ b/.github/workflows/blockifier_post-merge.yml @@ -13,7 +13,7 @@ jobs: runs-on: starkware-ubuntu-20-04-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Noelware/setup-protoc@1.1.0 - uses: Swatinem/rust-cache@v2 with: diff --git a/.github/workflows/committer_ci.yml b/.github/workflows/committer_ci.yml index 67837d145c7..fa24602330b 100644 --- a/.github/workflows/committer_ci.yml +++ b/.github/workflows/committer_ci.yml @@ -33,7 +33,7 @@ jobs: runs-on: starkware-ubuntu-latest-small steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - id: auth @@ -115,7 +115,7 @@ jobs: runs-on: starkware-ubuntu-20-04-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 # Commit hash on pull request event would be the head commit of the branch. diff --git a/.github/workflows/install_rust.yml b/.github/workflows/install_rust.yml new file mode 100644 index 00000000000..80ef1cb6217 --- /dev/null +++ b/.github/workflows/install_rust.yml @@ -0,0 +1,25 @@ +# Installs rust toolchain. In order to set/fix the version, edit lines 20 & 27. +on: + workflow_call: + inputs: + components: + description: "An optional parameter that will be sent to dtolnay/rust-toolchain." + required: false + type: string + +jobs: + install-rust: + runs-on: starkware-ubuntu-latest-small + steps: + - uses: actions/checkout@v4 + - name: install rust toolchain with given components + if: "${{ inputs.components != '' }}" + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: ${{ inputs.components }} + - name: install rust toolchain without given components + if: "${{ inputs.components == '' }}" + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 562663e6105..9f1c45c54a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: Noelware/setup-protoc@1.1.0 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main with: components: clippy - uses: Swatinem/rust-cache@v2 @@ -83,7 +83,7 @@ jobs: RUSTDOCFLAGS: "-D warnings" steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 with: @@ -97,7 +97,7 @@ jobs: with: # Fetch the entire history. fetch-depth: 0 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Noelware/setup-protoc@1.1.0 - uses: Swatinem/rust-cache@v2 with: @@ -137,7 +137,7 @@ jobs: runs-on: starkware-ubuntu-latest-small steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: baptiste0928/cargo-install@v3 with: @@ -159,7 +159,7 @@ jobs: RUSTDOCFLAGS: "-D warnings" steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 with: diff --git a/.github/workflows/papyrus_ci.yml b/.github/workflows/papyrus_ci.yml index 349ac4140be..941139487b4 100644 --- a/.github/workflows/papyrus_ci.yml +++ b/.github/workflows/papyrus_ci.yml @@ -41,7 +41,7 @@ jobs: runs-on: starkware-ubuntu-latest-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 with: @@ -60,7 +60,7 @@ jobs: runs-on: starkware-ubuntu-latest-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 with: @@ -79,7 +79,7 @@ jobs: runs-on: starkware-ubuntu-latest-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 with: @@ -96,7 +96,7 @@ jobs: runs-on: starkware-ubuntu-latest-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - uses: Noelware/setup-protoc@1.1.0 @@ -109,7 +109,7 @@ jobs: runs-on: starkware-ubuntu-latest-medium steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - name: Set-Up run: | sudo apt-get update @@ -173,7 +173,7 @@ jobs: filters: | target_directory: - 'crates/papyrus_storage/src/db/**' - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 # repeat this job 32 times. this is a random test for part of the code that may cause a corrupted database. - run: for run in {1..32}; do cargo test -r -p papyrus_storage -- --include-ignored common_prefix_compare_with_simple_table_random; done diff --git a/.github/workflows/papyrus_nightly-tests-call.yml b/.github/workflows/papyrus_nightly-tests-call.yml index afdc528be0e..f21d93c31b0 100644 --- a/.github/workflows/papyrus_nightly-tests-call.yml +++ b/.github/workflows/papyrus_nightly-tests-call.yml @@ -21,7 +21,7 @@ jobs: runs-on: ${{ inputs.os }} steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: sudo apt update; sudo apt -y install libclang-dev # Install libclang-dev that is not a part of the ubuntu vm in github actions. diff --git a/.github/workflows/papyrus_nightly-tests.yml b/.github/workflows/papyrus_nightly-tests.yml index 9c0a9bb09f8..f33b03b59bc 100644 --- a/.github/workflows/papyrus_nightly-tests.yml +++ b/.github/workflows/papyrus_nightly-tests.yml @@ -37,7 +37,7 @@ jobs: if: github.event.schedule == '30 0 * * *' steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: mkdir data @@ -57,7 +57,7 @@ jobs: if: github.event.schedule == '30 0 * * *' steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: npm install -g ganache@7.4.3 @@ -73,7 +73,7 @@ jobs: if: github.event.schedule == '30 0 * * *' steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: cargo build -r -p papyrus_load_test @@ -82,7 +82,7 @@ jobs: if: github.event.schedule == '30 0 * * *' steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: > cargo test -r @@ -98,6 +98,6 @@ jobs: runs-on: starkware-ubuntu-latest-small steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - uses: Swatinem/rust-cache@v2 - run: for run in {1..100}; do cargo test -r -p papyrus_storage -- --include-ignored common_prefix_compare_with_simple_table_random; done diff --git a/.github/workflows/verify-deps.yml b/.github/workflows/verify-deps.yml index 3b410ef14cf..7e653ad7151 100644 --- a/.github/workflows/verify-deps.yml +++ b/.github/workflows/verify-deps.yml @@ -11,7 +11,7 @@ jobs: continue-on-error: true steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/workflows/install_rust.yml@main - name: Update Dependencies run: cargo update --verbose - name: Build