You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.5 KiB

3 years ago
3 years ago
  1. name: ci
  2. on: [push, pull_request]
  3. jobs:
  4. test:
  5. name: Cargo build & test
  6. runs-on: ubuntu-latest
  7. strategy:
  8. matrix:
  9. rust:
  10. - 1.75.0
  11. - 1.76.0
  12. - 1.77.2
  13. - 1.78.0
  14. - 1.79.0
  15. - 1.80.0
  16. - 1.81.0
  17. - 1.82.0
  18. - 1.83.0
  19. - 1.84.1
  20. - stable
  21. - beta
  22. - nightly
  23. steps:
  24. - uses: actions/checkout@v4
  25. with:
  26. persist-credentials: false
  27. - name: Install Rust ${{ matrix.rust }}
  28. run: rustup toolchain install ${{ matrix.rust }}
  29. - name: Run cargo build
  30. run: cargo +${{ matrix.rust }} build --verbose
  31. - name: Run cargo test
  32. run: cargo +${{ matrix.rust }} test --verbose
  33. formatting:
  34. name: Cargo fmt
  35. runs-on: ubuntu-latest
  36. steps:
  37. - uses: actions/checkout@v4
  38. with:
  39. persist-credentials: false
  40. - name: Update Rust
  41. run: rustup update stable
  42. - name: Run cargo fmt
  43. run: cargo +stable fmt --all -- --check
  44. clippy:
  45. name: Clippy
  46. runs-on: ubuntu-latest
  47. steps:
  48. - uses: actions/checkout@v4
  49. with:
  50. persist-credentials: false
  51. - name: Update Rust
  52. run: rustup update stable
  53. - name: Run clippy
  54. run: cargo +stable clippy --all-features
  55. cargo-deny:
  56. name: Check dependencies
  57. runs-on: ubuntu-latest
  58. steps:
  59. - uses: actions/checkout@v4
  60. with:
  61. persist-credentials: false
  62. - uses: EmbarkStudios/cargo-deny-action@v1