Skip to content

Commit

Permalink
refactor(ci): consolidate extension test workflows into matrix (#1166)
Browse files Browse the repository at this point in the history
* refactor(ci): consolidate extension test workflows into matrix

* feat(ci): add unique runner tags for extension tests

* feat(ci): add workflow file to trigger paths

* feat(ci): add ecc and pairing extensions to test matrix

* ci: consolidate extension workflows into single file

* ci: add rv32im to extension test matrix

* refactor(ci): use --no-tests flag instead of conditional

* Update .github/workflows/extension-tests.yml

---------

Co-authored-by: Jonathan Wang <[email protected]>
  • Loading branch information
0x471 and jonathanpwang authored Jan 5, 2025
1 parent 226b353 commit bb2751c
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 247 deletions.
42 changes: 0 additions & 42 deletions .github/workflows/algebra-extension.yml

This file was deleted.

42 changes: 0 additions & 42 deletions .github/workflows/bigint-extension.yml

This file was deleted.

59 changes: 59 additions & 0 deletions .github/workflows/extension-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
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
if: hashFiles(format('extensions/{0}/tests', matrix.extension.path)) != ''
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
42 changes: 0 additions & 42 deletions .github/workflows/keccak256-extension.yml

This file was deleted.

36 changes: 0 additions & 36 deletions .github/workflows/native-extension.yml

This file was deleted.

42 changes: 0 additions & 42 deletions .github/workflows/rv32im-extension.yml

This file was deleted.

43 changes: 0 additions & 43 deletions .github/workflows/sha256-extension.yml

This file was deleted.

0 comments on commit bb2751c

Please sign in to comment.