Merge CPU and Dev container to share code and configuration files #477
Workflow file for this run
This file contains hidden or 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: Tests | |
| on: | |
| - pull_request | |
| jobs: | |
| diagram: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build Diagram | |
| uses: ./.github/actions/build-diagram | |
| rust-syntax-style-format-and-integration: | |
| runs-on: ubuntu-latest | |
| env: | |
| CARGO_TERM_COLOR: always | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust + components | |
| uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| toolchain: 1.90.0 | |
| components: rustfmt,clippy | |
| - name: Install code coverage | |
| uses: taiki-e/install-action@cargo-llvm-cov | |
| - name: Run syntax and style tests | |
| run: cargo clippy --all-targets -- -D warnings | |
| - name: Run format test | |
| run: cargo fmt --check | |
| - name: Run integration tests w/ coverage report | |
| env: | |
| RUST_BACKTRACE: full | |
| run: | | |
| mkdir -p tests/.tmp | |
| cargo llvm-cov \ | |
| --no-default-features \ | |
| --features=test \ | |
| --ignore-filename-regex "bin/.*|lib\.rs" \ | |
| --cobertura \ | |
| --output-path target/llvm-cov-target/cobertura.xml \ | |
| -- \ | |
| --nocapture | |
| - name: Upload to codecov.io | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| fail_ci_if_error: true | |
| files: target/llvm-cov-target/cobertura.xml | |
| verbose: true | |
| python-integration: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Python, dependencies, and orcapod | |
| run: | | |
| set -e | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| uv venv -p 3.10 ~/.local/share/base | |
| uv pip install cffi maturin[patchelf] -p ~/.local/share/base | |
| uv pip install eclipse-zenoh -p ~/.local/share/base | |
| . ~/.local/share/base/bin/activate | |
| maturin develop --uv | |
| - name: Run Python tests | |
| env: | |
| RUST_BACKTRACE: full | |
| run: | | |
| . ~/.local/share/base/bin/activate | |
| for py_file in tests/extra/python/*.py; do | |
| python "$py_file" -- tests/.tmp | |
| done |