Skip to content

Autogenerate entire prime butterfly files, rather than just chunks #300

Autogenerate entire prime butterfly files, rather than just chunks

Autogenerate entire prime butterfly files, rather than just chunks #300

Workflow file for this run

on: [pull_request]
name: CI
jobs:
check:
name: Check+Test default features
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.61
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Run cargo check
run: cargo check
- name: Run cargo test
run: cargo test
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Print rustfmt version
run: cargo fmt -- --version
- name: Run cargo fmt
run: cargo fmt -- --check
autogeneration:
name: Check Autogenerated Code Match
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Check SSE Prime Butterflies
run: cargo run --manifest-path ./tools/gen_simd_butterflies/Cargo.toml -- sse 7 11 13 17 19 23 29 31 --check src/sse/sse_prime_butterflies.rs
- name: Check NEON Prime Butterflies
run: cargo run --manifest-path ./tools/gen_simd_butterflies/Cargo.toml -- neon 7 11 13 17 19 23 29 31 --check src/neon/neon_prime_butterflies.rs
- name: Check Wasm SIMD Prime Butterflies
run: cargo run --manifest-path ./tools/gen_simd_butterflies/Cargo.toml -- wasm_simd 7 11 13 17 19 23 29 31 --check src/wasm_simd/wasm_simd_prime_butterflies.rs
check_no_features:
name: Check+Test no features
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.61
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Run cargo check
run: cargo check --no-default-features
- name: Run cargo test
run: cargo test --no-default-features
check_arm64_neon:
name: Check and test Linux arm 64bit with neon
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.61
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
targets: aarch64-unknown-linux-gnu
- name: Install cross
run: cargo install cross --version 0.2.5 --locked
- name: Run cargo check
run: cross check --features neon --target aarch64-unknown-linux-gnu
- name: Run cargo test for arm
run: cross test --release --features neon --target aarch64-unknown-linux-gnu
check_x86:
name: Check and test Linux x86 32bit
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: i586-unknown-linux-gnu
- name: Install cross
run: cargo install cross --version 0.2.5 --locked
- name: Run cargo check
run: cross check --target i586-unknown-linux-gnu
- name: Run cargo test for i586
run: cross test --target i586-unknown-linux-gnu
check_wasm32:
name: Check and test WebAssembly with SIMD
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.61
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
targets: wasm32-unknown-unknown
- name: Install wasm-pack
uses: jetli/wasm-pack-action@v0.4.0
with:
version: "latest"
- name: Run test suites with wasm-pack
run: wasm-pack test --node -- --features wasm_simd