Simd twiddles (#820) #7367
This file contains 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: CI | |
on: | |
push: | |
branches: | |
- dev | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- auto_merge_enabled | |
- edited | |
merge_group: | |
types: | |
- checks_requested | |
jobs: | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
components: rustfmt | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: scripts/rust_fmt.sh --check | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
components: clippy | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: scripts/clippy.sh | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo +nightly-2024-01-04 doc | |
run-wasm32-wasi-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
targets: wasm32-wasi | |
- uses: taiki-e/install-action@v2 | |
with: | |
tool: wasmtime | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo test --target wasm32-wasi | |
env: | |
CARGO_TARGET_WASM32_WASI_RUNNER: "wasmtime run --" | |
RUSTFLAGS: -C target-feature=+simd128 | |
run-wasm32-unknown-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
targets: wasm32-unknown-unknown | |
- uses: Swatinem/rust-cache@v2 | |
- uses: jetli/wasm-pack-action@v0.4.0 | |
with: | |
version: "latest" | |
- run: cd crates/prover && wasm-pack test --node | |
env: | |
RUSTFLAGS: -C target-feature=+simd128 | |
run-neon-tests: | |
runs-on: macos-latest-xlarge | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo +nightly-2024-01-04 test | |
env: | |
RUSTFLAGS: -C target-feature=+neon | |
run-avx-tests: | |
strategy: | |
matrix: | |
target-feature: [avx512f, avx2] | |
runs-on: avx | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo +nightly-2024-01-04 test | |
env: | |
RUSTFLAGS: -C target-cpu=native -C target-feature=+${{ matrix.target-feature }} | |
run-avx512-bench: | |
runs-on: avx | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- name: Run benchmark | |
run: ./scripts/bench.sh -- --output-format bencher | tee output.txt | |
- name: Download previous benchmark data | |
uses: actions/cache@v4 | |
with: | |
path: ./cache | |
key: ${{ runner.os }}-benchmark | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
tool: "cargo" | |
output-file-path: output.txt | |
external-data-json-path: ./cache/benchmark-data.json | |
fail-on-alert: true | |
summary-always: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
comment-on-alert: true | |
alert-comment-cc-users: "@spapinistarkware" | |
run-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo +nightly-2024-01-04 test | |
run-slow-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo +nightly-2024-01-04 test --release --features="slow-tests" | |
udeps: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
name: "Rust Toolchain Setup" | |
with: | |
toolchain: nightly-2024-01-04 | |
- uses: Swatinem/rust-cache@v2 | |
id: "cache-cargo" | |
- if: ${{ steps.cache-cargo.outputs.cache-hit != 'true' }} | |
name: "Download and run cargo-udeps" | |
run: | | |
wget -O - -c https://github.com/est31/cargo-udeps/releases/download/v0.1.35/cargo-udeps-v0.1.35-x86_64-unknown-linux-gnu.tar.gz | tar -xz | |
cargo-udeps-*/cargo-udeps udeps | |
env: | |
RUSTUP_TOOLCHAIN: nightly-2024-01-04 | |
all-tests: | |
runs-on: ubuntu-latest | |
needs: | |
- clippy | |
- format | |
- run-tests | |
- run-avx-tests | |
- run-neon-tests | |
- run-wasm32-wasi-tests | |
- run-slow-tests | |
- udeps | |
steps: | |
- name: Decide whether all the needed jobs succeeded or failed | |
uses: re-actors/alls-green@v1.2.2 | |
with: | |
jobs: ${{ toJSON(needs) }} |