zombie-einstein pre-merge #26
Workflow file for this run
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: pre-merge | |
run-name: ${{ github.actor }} pre-merge | |
on: [pull_request] | |
jobs: | |
rust_checks: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
container: rust:latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt, clippy | |
- name: Build Rust package | |
run: cargo build --workspace | |
- name: Rust tests | |
run: cargo test | |
- name: Rust example | |
run: cargo run --example basic_sim 200 100 | |
- name: Rust formatting | |
run: cargo fmt --all -- --check | |
- name: Clippy | |
run: cargo clippy -- -Dwarnings | |
maturin_build: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install hatch 🐣 | |
run: pip install hatch | |
- name: Python pre-commit checks ✅ | |
run: hatch run dev:lint | |
- name: Maturin build | |
run: hatch run dev:build | |
- name: Upload wheel | |
uses: actions/upload-artifact@v4 | |
with: | |
name: python_build | |
path: target/wheels/verbs-*.whl | |
python_tests: | |
needs: maturin_build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Download wheel | |
uses: actions/download-artifact@v4 | |
with: | |
name: python_build | |
- name: Install package | |
run: pip install verbs-*-manylinux_2_34_x86_64.whl | |
- name: Install pytest | |
run: pip install pytest | |
- name: Run tests 🧪 | |
run: pytest -v tests | |
python_examples: | |
needs: maturin_build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Download wheel | |
uses: actions/download-artifact@v4 | |
with: | |
name: python_build | |
- name: Install package | |
run: pip install verbs-*-manylinux_2_34_x86_64.whl | |
- name: Run basic example | |
run: python examples/basic_sim.py | |
- name: Run batch runner example | |
run: python examples/batch_runner.py | |
python_docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install hatch 🐣 | |
run: pip install hatch | |
- name: Install verbs and build docs 📚 | |
run: hatch run sphinx:build |