42 lines
1.4 KiB
YAML
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-diagnostics-mavlink
|
|
cargo test --locked -p kaptan-log
|
|
cargo test --locked -p kaptan-diagnostics-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
|