frontend_rust.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. name: Frontend_Rust
  2. on:
  3. push:
  4. branches: [ main ]
  5. paths:
  6. - 'frontend/rust-lib'
  7. - 'shared-lib'
  8. pull_request:
  9. branches: [ main ]
  10. paths:
  11. - 'frontend/rust-lib'
  12. - 'shared-lib'
  13. env:
  14. CARGO_TERM_COLOR: always
  15. jobs:
  16. rust-fmt:
  17. name: Rustfmt
  18. runs-on: ubuntu-latest
  19. steps:
  20. - uses: actions/checkout@v2
  21. - uses: actions-rs/toolchain@v1
  22. with:
  23. toolchain: nightly
  24. override: true
  25. - run: rustup component add rustfmt
  26. working-directory: frontend/rust-lib
  27. - run: cargo fmt --all -- --check
  28. working-directory: frontend/rust-lib/
  29. rust-clippy:
  30. runs-on: ubuntu-latest
  31. name: Clippy
  32. steps:
  33. - uses: actions/checkout@v2
  34. - uses: actions-rs/toolchain@v1
  35. with:
  36. toolchain: nightly
  37. override: true
  38. - run: rustup component add clippy
  39. working-directory: frontend/rust-lib
  40. - run: cargo clippy
  41. working-directory: frontend/rust-lib
  42. tests:
  43. runs-on: ubuntu-latest
  44. steps:
  45. - name: Checkout
  46. uses: actions/checkout@v2
  47. - name: Install Rust
  48. run: |
  49. curl \
  50. --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
  51. source $HOME/.cargo/env
  52. rustup toolchain install nightly
  53. rustup default nightly
  54. - name: Frontend tests
  55. working-directory: frontend/rust-lib
  56. run: cargo test
  57. - name: Shared-lib tests
  58. working-directory: shared-lib
  59. run: cargo test