Skip to content

Implement milestone 2 vanilla STARK proofs #6

Implement milestone 2 vanilla STARK proofs

Implement milestone 2 vanilla STARK proofs #6

Workflow file for this run

name: milestone-1
on:
push:
branches:
- main
pull_request:
jobs:
cargo-test:
name: cargo test (${{ matrix.name }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: default
cargo_args: ""
needs_python: false
- name: burn-model
cargo_args: "--features burn-model"
needs_python: false
- name: onnx-export
cargo_args: "--features onnx-export"
needs_python: true
- name: full
cargo_args: "--features full"
needs_python: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install Python
if: matrix.needs_python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Python dependencies
if: matrix.needs_python
run: |
python -m pip install --upgrade pip
python -m pip install -r scripts/requirements.txt
- name: Restore Rust cache
uses: Swatinem/rust-cache@v2
- name: Run cargo test
run: cargo test ${{ matrix.cargo_args }}
milestone-1-proof:
name: export and validate ONNX workflow
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r scripts/requirements.txt
- name: Restore Rust cache
uses: Swatinem/rust-cache@v2
- name: Export ONNX from CLI
run: cargo run --features onnx-export --bin tvm -- export-onnx programs/fibonacci.tvm -o compiled/fibonacci
- name: Verify all engines from CLI
run: cargo run --features full --bin tvm -- run programs/fibonacci.tvm --verify-all
- name: Validate exported ONNX in Python
run: python scripts/validate_onnx.py compiled/fibonacci --program-name fibonacci --expected-acc 21 --expected-halted true