diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 64316e0297..b85a7a7500 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -12,7 +12,7 @@ env: CARGO_TERM_COLOR: always jobs: - test: + build: runs-on: ubuntu-latest steps: @@ -38,12 +38,6 @@ jobs: key: ${{ runner.os }}-pilcom-node-modules - name: Install Rust toolchain 1.72 (with clippy and rustfmt) run: rustup toolchain install 1.72-x86_64-unknown-linux-gnu && rustup component add clippy --toolchain 1.72-x86_64-unknown-linux-gnu && rustup component add rustfmt --toolchain 1.72-x86_64-unknown-linux-gnu - - name: Install nightly - run: rustup toolchain install nightly-2023-01-03-x86_64-unknown-linux-gnu - - name: Install riscv target - run: rustup target add riscv32imac-unknown-none-elf --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu - - name: Install stdlib - run: rustup component add rust-src --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu - name: Lint run: cargo clippy --all --all-features --profile pr-tests -- -D warnings - name: Format @@ -52,8 +46,6 @@ jobs: run: cargo bench --all --all-features --profile pr-tests --no-run - name: Check without Halo2 run: cargo check --all --no-default-features --profile pr-tests - - name: Install pilcom - run: git clone https://github.com/0xPolygonHermez/pilcom.git && cd pilcom && npm install - name: Build run: cargo build --all-targets --all --all-features --profile pr-tests - name: ⚡ Save rust cache @@ -65,9 +57,81 @@ jobs: ~/.cargo/git target key: ${{ runner.os }}-cargo-pr-tests-${{ hashFiles('**/Cargo.toml') }} + + test_quick: + needs: build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: ⚡ Restore rust cache + id: cache + uses: actions/cache/restore@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-pr-tests-${{ hashFiles('**/Cargo.toml') }} + restore-keys: | + ${{ runner.os }}-cargo-pr-tests- + - name: ⚡ Cache nodejs + uses: actions/cache@v3 + with: + path: | + ~/pilcom/node_modules + key: ${{ runner.os }}-pilcom-node-modules + - name: Install Rust toolchain 1.72 (with clippy and rustfmt) + run: rustup toolchain install 1.72-x86_64-unknown-linux-gnu && rustup component add clippy --toolchain 1.72-x86_64-unknown-linux-gnu && rustup component add rustfmt --toolchain 1.72-x86_64-unknown-linux-gnu + - name: Install nightly + run: rustup toolchain install nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install riscv target + run: rustup target add riscv32imac-unknown-none-elf --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install stdlib + run: rustup component add rust-src --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install pilcom + run: git clone https://github.com/0xPolygonHermez/pilcom.git && cd pilcom && npm install - name: Run default tests if: github.ref != 'refs/heads/main' run: PILCOM=$(pwd)/pilcom/ cargo test --all --all-features --profile pr-tests --verbose + + test_slow: + needs: build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: ⚡ Restore rust cache + id: cache + uses: actions/cache/restore@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-pr-tests-${{ hashFiles('**/Cargo.toml') }} + restore-keys: | + ${{ runner.os }}-cargo-pr-tests- + - name: ⚡ Cache nodejs + uses: actions/cache@v3 + with: + path: | + ~/pilcom/node_modules + key: ${{ runner.os }}-pilcom-node-modules + - name: Install Rust toolchain 1.72 (with clippy and rustfmt) + run: rustup toolchain install 1.72-x86_64-unknown-linux-gnu && rustup component add clippy --toolchain 1.72-x86_64-unknown-linux-gnu && rustup component add rustfmt --toolchain 1.72-x86_64-unknown-linux-gnu + - name: Install nightly + run: rustup toolchain install nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install riscv target + run: rustup target add riscv32imac-unknown-none-elf --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install stdlib + run: rustup component add rust-src --toolchain nightly-2023-01-03-x86_64-unknown-linux-gnu + - name: Install pilcom + run: git clone https://github.com/0xPolygonHermez/pilcom.git && cd pilcom && npm install - name: Run slow tests if: github.ref != 'refs/heads/main' # Number threads is set to 1 because the runner does not have enough memory for more.