rust-ci.yml 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. name: Rust CI
  2. on:
  3. pull_request:
  4. branches:
  5. - main
  6. paths:
  7. - .github/workflows/rust-ci.yml
  8. - rust/**
  9. workflow_dispatch:
  10. concurrency:
  11. group: rust-ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  12. cancel-in-progress: true
  13. defaults:
  14. run:
  15. working-directory: rust
  16. env:
  17. CARGO_TERM_COLOR: always
  18. jobs:
  19. fmt:
  20. name: cargo fmt
  21. runs-on: ubuntu-latest
  22. steps:
  23. - uses: actions/checkout@v4
  24. - uses: dtolnay/rust-toolchain@stable
  25. with:
  26. components: rustfmt
  27. - uses: Swatinem/rust-cache@v2
  28. with:
  29. workspaces: rust -> target
  30. - name: Check formatting
  31. run: cargo fmt --all -- --check
  32. test-rusty-claude-cli:
  33. name: cargo test -p rusty-claude-cli
  34. runs-on: ubuntu-latest
  35. steps:
  36. - uses: actions/checkout@v4
  37. - uses: dtolnay/rust-toolchain@stable
  38. - uses: Swatinem/rust-cache@v2
  39. with:
  40. workspaces: rust -> target
  41. - name: Run crate tests
  42. run: cargo test -p rusty-claude-cli