|
|
@ -0,0 +1,163 @@ |
|
|
|
name: CI |
|
|
|
on: |
|
|
|
pull_request: |
|
|
|
push: |
|
|
|
branches: |
|
|
|
- master |
|
|
|
env: |
|
|
|
RUST_BACKTRACE: 1 |
|
|
|
|
|
|
|
jobs: |
|
|
|
style: |
|
|
|
name: Check Style |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Checkout |
|
|
|
uses: actions/checkout@v1 |
|
|
|
- name: Install Rust |
|
|
|
uses: actions-rs/toolchain@v1 |
|
|
|
with: |
|
|
|
profile: minimal |
|
|
|
toolchain: stable |
|
|
|
override: true |
|
|
|
components: rustfmt |
|
|
|
|
|
|
|
- name: cargo fmt --check |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: fmt |
|
|
|
args: --all -- --check |
|
|
|
|
|
|
|
test: |
|
|
|
name: Test |
|
|
|
runs-on: ubuntu-latest |
|
|
|
env: |
|
|
|
RUSTFLAGS: -Dwarnings |
|
|
|
strategy: |
|
|
|
matrix: |
|
|
|
rust: |
|
|
|
- stable |
|
|
|
- nightly |
|
|
|
steps: |
|
|
|
- name: Checkout |
|
|
|
uses: actions/checkout@v2 |
|
|
|
|
|
|
|
- name: Install Rust (${{ matrix.rust }}) |
|
|
|
uses: actions-rs/toolchain@v1 |
|
|
|
with: |
|
|
|
profile: minimal |
|
|
|
toolchain: ${{ matrix.rust }} |
|
|
|
override: true |
|
|
|
|
|
|
|
- uses: actions/cache@v2 |
|
|
|
with: |
|
|
|
path: | |
|
|
|
~/.cargo/registry |
|
|
|
~/.cargo/git |
|
|
|
target |
|
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} |
|
|
|
|
|
|
|
- name: Check examples |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: check |
|
|
|
args: --examples --all |
|
|
|
|
|
|
|
- name: Check examples with all features on stable |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: check |
|
|
|
args: --examples --all-features --all |
|
|
|
if: matrix.rust == 'stable' |
|
|
|
|
|
|
|
- name: Check benchmarks on nightly |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: check |
|
|
|
args: --all-features --examples --all --benches |
|
|
|
if: matrix.rust == 'nightly' |
|
|
|
|
|
|
|
- name: Test |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: test |
|
|
|
args: --all -- --skip dpc --skip integration_test |
|
|
|
|
|
|
|
check_no_std: |
|
|
|
name: Check no_std |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
- name: Checkout |
|
|
|
uses: actions/checkout@v2 |
|
|
|
|
|
|
|
- name: Install Rust (${{ matrix.rust }}) |
|
|
|
uses: actions-rs/toolchain@v1 |
|
|
|
with: |
|
|
|
toolchain: stable |
|
|
|
target: thumbv6m-none-eabi |
|
|
|
override: true |
|
|
|
|
|
|
|
- uses: actions/cache@v2 |
|
|
|
with: |
|
|
|
path: | |
|
|
|
~/.cargo/registry |
|
|
|
~/.cargo/git |
|
|
|
target |
|
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} |
|
|
|
|
|
|
|
- name: algebra-core |
|
|
|
run: | |
|
|
|
cd algebra-core |
|
|
|
cargo build -p algebra-core --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p algebra-core --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: algebra |
|
|
|
run: | |
|
|
|
cd algebra |
|
|
|
cargo build -p algebra --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p algebra --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: r1cs-core |
|
|
|
run: | |
|
|
|
cd r1cs-core |
|
|
|
cargo build -p r1cs-core --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p r1cs-core --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: r1cs-std |
|
|
|
run: | |
|
|
|
cd r1cs-std |
|
|
|
cargo build -p r1cs-std --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p r1cs-std --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: ff-fft |
|
|
|
run: | |
|
|
|
cd ff-fft |
|
|
|
cargo build -p ff-fft --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p ff-fft --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: groth16 |
|
|
|
run: | |
|
|
|
cd groth16 |
|
|
|
cargo build -p groth16 --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p groth16 --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: gm17 |
|
|
|
run: | |
|
|
|
cd gm17 |
|
|
|
cargo build -p gm17 --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p gm17 --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |
|
|
|
|
|
|
|
- name: crypto-primitives |
|
|
|
run: | |
|
|
|
cd crypto-primitives |
|
|
|
cargo build -p crypto-primitives --no-default-features --target thumbv6m-none-eabi |
|
|
|
cargo check --examples -p crypto-primitives --no-default-features --target thumbv6m-none-eabi |
|
|
|
cd .. |