rust-ci.yml 1.2 KB

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