python bindings for wellen (#26) #322
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: waveform Tests | |
on: | |
push: | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
tests: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: Update Rust to ${{ matrix.toolchain }} | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
pytests: | |
name: Python tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: Update Rust to ${{ matrix.toolchain }} | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: pip install -e . -v && pip install pytest | |
working-directory: pywellen | |
- name: Run tests | |
run: pytest tests/ | |
working-directory: pywellen | |
semver: | |
name: Check Semantic Versioning | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: obi1kenobi/cargo-semver-checks-action@v2 | |
msrv: | |
name: Check Minimum Rust Version | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: cargo-msrv | |
- name: Check MSRV | |
working-directory: wellen | |
run: cargo msrv verify | |
examples: | |
name: Try Examples | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: Update Rust to ${{ matrix.toolchain }} | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: cargo build --verbose --examples --release | |
- name: load_signals | |
working-directory: wellen | |
run: cargo run --release --example load_signals -- inputs/xilinx_isim/test1.vcd | |
serialization: | |
name: Test Serialization Feature ("serde1") | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: Update Rust to ${{ matrix.toolchain }} | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: cargo build --verbose --features serde1 | |
benchmarks: | |
name: Benchmarks | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
steps: | |
- name: Update Rust to ${{ matrix.toolchain }} | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- uses: actions/checkout@v4 | |
- name: run benchmarks | |
run: cargo bench --features benchmark |