Files
kaptan/.github/workflows/sitl-smoke.yml
T

42 lines
1.4 KiB
YAML

name: Host SITL smoke
on:
pull_request:
push:
workflow_dispatch:
permissions:
contents: read
jobs:
smoke:
name: Deterministic Gazebo command path
runs-on: ubuntu-24.04
timeout-minutes: 25
steps:
- name: Check out source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Check host-SITL contracts
working-directory: firmware
run: |
python3 -m unittest tools/sitl/test_kaptan_sim.py
python3 tools/sitl/world-structure-test.py
cargo check --locked -p kaptan-mavlink --no-default-features
cargo check --locked -p kaptan-log --no-default-features
cargo check --locked -p kaptan-log-mavlink --no-default-features
cargo test --locked -p kaptan-log --features facade
cargo test --locked -p kaptan-log-derive -p kaptan-log-mavlink
if rg -n '(^use log::|\blog::)' platforms/stm32f7/src/f722; then
echo 'the standard log facade is forbidden in F722 IRQ/panic paths'
exit 1
fi
if rg -n 'max_level_(off|error|warn|info|debug|trace)' --glob 'Cargo.toml' --glob '*.rs' .; then
echo 'log/max_level_* removes records before Kaptan can observe them'
exit 1
fi
cargo test --locked -p kaptan-sitl
- name: Run Docker closed-loop smoke
run: firmware/tools/sitl/e2e-smoke.sh