- Use
cargo testto run all tests in this workspace - To run the full suite of tests CI will run, see
scripts/ci-local.py. - Before commiting run
cargo fmtandcargo clippy, as well ascd decoder && cargo fmt && cargo clippy. YOU MUST FIX CLIPPY ERRORS.
When instructed to "finish up", follow this process:
- Run
cargo +nightly fmt --allto format all code - Run
cargo clippy --workspace --all-features -- -D warningsand fix all errors - Fix any small issues found. For big issues, confirm with the user first
- Amend changes into the most recent commit:
git add -A && git commit --amend --no-edit - Push:
git push --force-with-lease - Monitor CI on GitHub to ensure it passes. If it fails:
- Analyze why the issue was missed
- Update the pre-CI checks to catch similar issues
- Fix the problem and repeat from step 1
Note: For a full local CI check matching what runs on GitHub, use scripts/ci-local.py
Helpful commands for monitoring CI:
- Check PR status:
gh pr checks <branch-name> - Watch until completion:
gh pr checks <branch-name> --watch(refreshes every 10s, exits when done) - View with details:
gh pr view <branch-name> --json statusCheckRollup --jq '.statusCheckRollup[] | "\(.name): \(.status) - \(.conclusion)"'