Skip to content

Release v0.2.0: Tasty Tabule #1782

Release v0.2.0: Tasty Tabule

Release v0.2.0: Tasty Tabule #1782

Workflow file for this run

name: CI
on:
merge_group:
push:
branches: [main]
pull_request:
branches: ["*"]
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
compile:
name: Compile
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Rustup toolchain install
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
- name: Run cargo check
run: cargo check
- name: Run cargo check for math with no-std
run: cargo check --package lambdaworks-math --no-default-features
- name: Run cargo check for math with wasm target
run: cargo check --package lambdaworks-math --no-default-features --target wasm32-unknown-unknown
- name: Run cargo check for crypto with wasm target
run: cargo check --package lambdaworks-crypto --no-default-features --target wasm32-unknown-unknown
- name: Run cargo build ensure-no_std crate
run: |
cd ensure-no_std
cargo build
- name: Run cargo build ensure-no_std crate for wasm
run: |
cd ensure-no_std
cargo build --target wasm32-unknown-unknown
- name: Check benchmarks
run: cargo bench --no-run
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: Run clippy
run: make clippy
- name: Run clippy math no std
run: cargo clippy --package lambdaworks-math --no-default-features -- -D warnings
test:
name: Test (Ubuntu)
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
- name: Python3 build
uses: actions/setup-python@v4
with:
python-version: "3.9"
cache: "pip"
- name: Install cairo-lang toolchain and dependencies
run: pip install -r provers/cairo/requirements.txt
- name: Install testing tools
uses: taiki-e/install-action@v2
with:
tool: cargo-nextest,cargo-llvm-cov
- name: Run tests with no std
run: cargo test --package lambdaworks-math --no-default-features
- name: Run tests and generate code coverage
run: make coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: lcov.info
fail_ci_if_error: true
test_macos:
name: Test (macOS, Apple sillicon)
runs-on: [self-hosted, macOS]
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- name: Rustup toolchain install
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
- name: Run clippy
run: make clippy-metal
- name: Run tests
run: make test-metal