Skip to content

refactor(ci): consolidate extension test workflows into matrix #2

refactor(ci): consolidate extension test workflows into matrix

refactor(ci): consolidate extension test workflows into matrix #2

Workflow file for this run

name: Extension Tests
on:
push:
branches: ["main"]
pull_request:
branches: ["**"]
paths:
- "extensions/**"
- ".github/workflows/extension-tests.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
OPENVM_FAST_TEST: "1"
jobs:
extension-tests:
strategy:
matrix:
extension:
- {name: 'algebra', path: 'algebra'}
- {name: 'bigint', path: 'bigint'}
- {name: 'ecc', path: 'ecc'}
- {name: 'keccak256', path: 'keccak256'}
- {name: 'native', path: 'native'}
- {name: 'pairing', path: 'pairing'}
- {name: 'sha256', path: 'sha256'}
- {name: 'rv32im', path: 'rv32im'}
# Ensure tests run in parallel even if one fails
fail-fast: false
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- tag=extension-${{ matrix.extension.name }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: taiki-e/install-action@nextest
- name: Run ${{ matrix.extension.name }} extension crate tests
working-directory: extensions/${{ matrix.extension.path }}/circuit
run: |
cargo nextest run --cargo-profile=fast
- name: Run ${{ matrix.extension.name }} integration tests
working-directory: extensions/${{ matrix.extension.path }}/tests
run: |
rustup component add rust-src --toolchain nightly-2024-10-30
cargo nextest run --cargo-profile=fast --no-tests=pass