feat: Noir to Plonkish CCS #46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Check | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| format: | |
| name: fmt | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install Rust | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt | |
| - name: Install cargo-binstall | |
| uses: cargo-bins/cargo-binstall@main | |
| - name: install taplo | |
| run: cargo binstall taplo-cli | |
| - name: run Rust fmt | |
| run: cargo fmt --all -- --check | |
| - name: run TOML fmt | |
| run: taplo fmt --check | |
| per-target: | |
| name: ${{ matrix.job }} / ${{ matrix.target }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| include: | |
| - job: build | |
| target: x86_64-unknown-linux-gnu | |
| - job: lint | |
| target: x86_64-unknown-linux-gnu | |
| - job: build | |
| target: aarch64-unknown-linux-gnu | |
| - job: lint | |
| target: aarch64-unknown-linux-gnu | |
| - job: build | |
| target: wasm32-unknown-unknown | |
| - job: lint | |
| target: wasm32-unknown-unknown | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| targets: ${{ matrix.target }} | |
| components: ${{ matrix.job == 'lint' && 'clippy' || '' }} | |
| - name: Set up QEMU | |
| if: matrix.target == 'aarch64-unknown-linux-gnu' | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm64 | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: check/${{ matrix.job }}/${{ matrix.target }} | |
| - name: Build | |
| if: matrix.job == 'build' | |
| run: cargo build --target ${{ matrix.target }} --workspace | |
| - name: Clippy | |
| if: matrix.job == 'lint' | |
| run: cargo clippy --target ${{ matrix.target }} --all-targets --all-features -- --deny warnings | |
| test: | |
| name: test / ${{ matrix.target }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| - target: wasm32-unknown-unknown | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| targets: ${{ matrix.target }} | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: check/test/${{ matrix.target }} | |
| - name: Setup wasm-pack | |
| if: matrix.target == 'wasm32-unknown-unknown' | |
| uses: jetli/wasm-pack-action@v0.4.0 | |
| - name: Run tests | |
| if: matrix.target != 'wasm32-unknown-unknown' | |
| run: cargo test --verbose --target ${{ matrix.target }} --workspace | |
| - name: Run wasm tests | |
| if: matrix.target == 'wasm32-unknown-unknown' | |
| run: wasm-pack test --node | |
| udeps: | |
| name: udeps / ${{ matrix.target }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| - target: aarch64-unknown-linux-gnu | |
| - target: wasm32-unknown-unknown | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| targets: ${{ matrix.target }} | |
| - name: Set up QEMU | |
| if: matrix.target == 'aarch64-unknown-linux-gnu' | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm64 | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: check/udeps/${{ matrix.target }} | |
| - name: Install cargo-binstall | |
| uses: cargo-bins/cargo-binstall@main | |
| - name: Install cargo-udeps | |
| run: cargo binstall cargo-udeps --locked | |
| - name: Check unused dependencies | |
| run: cargo +nightly udeps --target ${{ matrix.target }} --workspace | |
| semver: | |
| name: semver | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-semver-checks | |
| uses: taiki-e/install-action@cargo-semver-checks | |
| - name: Run semver checks | |
| run: cargo semver-checks check-release --workspace |