Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Summary

## Related issues
- Closes #

## Changes

## Testing
- [ ] `just fmt-check`
- [ ] `just check`
- [ ] `just test`
- [ ] Other (please specify):

pro-tip: `just` with no parameters in the root defaults to `just fmt-check`, `just check`, and `just test`.

## Checklist
- [ ] I have updated docs or examples where needed
- [ ] I have added or updated tests where needed
- [ ] I have considered host vs embedded impact
- [ ] I have considered config/logging changes (if applicable)
- [ ] This change is not a breaking change (or I documented it below)

## Breaking changes (if any)

## Additional context
21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,21 @@ env:
CARGO_TERM_COLOR: always

jobs:
fmt:
name: Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt

- name: Check formatting
run: cargo fmt --all -- --check

host:
name: Host Example Checks
runs-on: ubuntu-latest
Expand All @@ -40,6 +55,12 @@ jobs:
cargo check -p cu-feetech-demo --all-targets
cargo check -p cu-gnss-ublox-demo --all-targets --features logexport

- name: Run host tests
run: |
cargo test -p cu-human-pose
cargo test -p cu-flight-controller --bin quad-sim --features textlogs
cargo test -p cu-rp-balancebot --bin balancebot-sim

embedded:
name: Embedded Example Checks
runs-on: ubuntu-latest
Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,17 @@ repository dispatch event.
## Checks

```bash
just check
just pr-check
```

The host checks cover the Linux-targeted apps. `cu-human-pose` needs GStreamer
development packages installed locally. The embedded smoke checks use
cross-target `cargo check` against the same RP2350 and STM32H7 targets exercised
by these demos.
`just pr-check` runs formatting verification, the existing host/embedded compile
smoke checks, and the host-side unit tests that are stable in CI.

`just check` remains available when you only want the compile-smoke pass. The
host checks cover the Linux-targeted apps. `cu-human-pose` needs GStreamer
development packages installed locally. The embedded smoke checks use cross-target
`cargo check` against the same RP2350 and STM32H7 targets exercised by these
demos.

## License

Expand Down
17 changes: 16 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
default: check
default: pr-check

pr-check:
just fmt-check
just check
just test

fmt:
cargo fmt --all

fmt-check:
cargo fmt --all -- --check

check: check-host check-embedded

check-host:
Expand All @@ -15,3 +23,10 @@ check-host:
check-embedded:
cargo check -p cu-elrs-bdshot-demo --target thumbv8m.main-none-eabihf
cargo check -p cu-flight-controller --target thumbv7em-none-eabihf --no-default-features --features firmware,textlogs --bin quad

# Host-side tests only. The embedded demo is compile-checked separately and the
# balancebot resim/logreader paths pull in local-only or Python-linked flows.
test:
cargo test -p cu-human-pose
cargo test -p cu-flight-controller --bin quad-sim --features textlogs
cargo test -p cu-rp-balancebot --bin balancebot-sim