From 6eed6a225578ae0943924e9bbe9ccfb1e757e130 Mon Sep 17 00:00:00 2001 From: han0110 Date: Mon, 4 Sep 2023 08:56:07 +0000 Subject: [PATCH] ci: deduplicate jobs when push to `main` and remove `codecov` --- .github/workflows/ci.yml | 73 ++++++++++++++++++++++- .github/workflows/ci_main.yml | 106 ---------------------------------- 2 files changed, 71 insertions(+), 108 deletions(-) delete mode 100644 .github/workflows/ci_main.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f956c61f0..78837c72d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,11 @@ name: CI checks -on: [pull_request, push] +on: + merge_group: + pull_request: + push: + branches: + - main jobs: test: @@ -9,6 +14,9 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] + include: + - features: batch,dev-graph,gadget-traces + - features: batch,dev-graph,gadget-traces,multicore,test-dev-graph,thread-safe-region,sanity-checks,circuit-params steps: - uses: actions/checkout@v3 @@ -19,7 +27,67 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --verbose --release --all --all-features + args: --verbose --release --workspace --no-default-features --features "${{ matrix.features }}" + + build: + name: Build target ${{ matrix.target }} + runs-on: ubuntu-latest + strategy: + matrix: + target: + - wasm32-unknown-unknown + - wasm32-wasi + + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + override: false + - name: Add target + run: rustup target add ${{ matrix.target }} + - name: cargo build + uses: actions-rs/cargo@v1 + with: + command: build + args: --no-default-features --features batch,dev-graph,gadget-traces --target ${{ matrix.target }} + + bitrot: + name: Bitrot check + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + override: false + # Build benchmarks to prevent bitrot + - name: Build benchmarks + uses: actions-rs/cargo@v1 + with: + command: build + args: --benches --examples --all-features + + doc-links: + name: Intra-doc links + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + override: false + - name: cargo fetch + uses: actions-rs/cargo@v1 + with: + command: fetch + + # Ensure intra-documentation links all resolve correctly + # Requires #![deny(intra_doc_link_resolution_failure)] in crates. + - name: Check intra-doc links + uses: actions-rs/cargo@v1 + with: + command: doc + args: --all --document-private-items fmt: name: Rustfmt @@ -35,3 +103,4 @@ jobs: with: command: fmt args: --all -- --check + diff --git a/.github/workflows/ci_main.yml b/.github/workflows/ci_main.yml deleted file mode 100644 index 400bff09bd..0000000000 --- a/.github/workflows/ci_main.yml +++ /dev/null @@ -1,106 +0,0 @@ -name: CI checks main - -on: - push: - branches: - - main -jobs: - test: - name: Test on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macOS-latest] - - steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - override: false - - name: Run tests - uses: actions-rs/cargo@v1 - with: - command: test - args: --verbose --release --all --all-features - bitrot: - name: Bitrot check - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - override: false - # Build benchmarks to prevent bitrot - - name: Build benchmarks - uses: actions-rs/cargo@v1 - with: - command: build - args: --benches --examples --all-features - - codecov: - name: Code coverage - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - # Use stable for this to ensure that cargo-tarpaulin can be built. - - uses: actions-rs/toolchain@v1 - with: - override: false - - name: Install cargo-tarpaulin - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-tarpaulin - - name: Generate coverage report - uses: actions-rs/cargo@v1 - with: - command: tarpaulin - args: --all-features --timeout 600 --out Xml - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3.1.0 - - doc-links: - name: Intra-doc links - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - override: false - - name: cargo fetch - uses: actions-rs/cargo@v1 - with: - command: fetch - - # Ensure intra-documentation links all resolve correctly - # Requires #![deny(intra_doc_link_resolution_failure)] in crates. - - name: Check intra-doc links - uses: actions-rs/cargo@v1 - with: - command: doc - args: --all --document-private-items - - build: - name: Build target ${{ matrix.target }} - runs-on: ubuntu-latest - strategy: - matrix: - target: - - wasm32-unknown-unknown - - wasm32-wasi - - steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - override: false - - name: Add target - run: rustup target add ${{ matrix.target }} - - name: cargo build - uses: actions-rs/cargo@v1 - with: - command: build - args: --features dev-graph,gadget-traces,unstable --target ${{ matrix.target }}