ci.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. name: CI Checks
  2. on: [push, pull_request]
  3. jobs:
  4. test-units:
  5. strategy:
  6. matrix:
  7. os: [ubuntu-latest]
  8. runs-on: ${{ matrix.os }}
  9. steps:
  10. - uses: actions/checkout@v4
  11. - uses: actions-rs/toolchain@v1
  12. with:
  13. toolchain: nightly-2025-04-10
  14. override: true
  15. - uses: actions-rs/toolchain@v1
  16. with:
  17. toolchain: nightly-2025-04-10
  18. target: wasm32-unknown-unknown
  19. override: true
  20. - uses: actions/setup-python@v1
  21. with:
  22. python-version: '3.10'
  23. - uses: Swatinem/rust-cache@v2
  24. - name: Update apt cache
  25. run: |
  26. sudo apt update -y
  27. - name: Install dependencies (Linux)
  28. run: |
  29. sh contrib/dependency_setup.sh
  30. if: matrix.os == 'ubuntu-latest'
  31. - name: Run test units
  32. run: |
  33. make CARGO="cargo +nightly-2025-04-10" test
  34. - name: Compile all bins
  35. run: |
  36. make CARGO="cargo +nightly-2025-04-10"
  37. feature-powerset:
  38. name: Test crate feature powerset on ${{ matrix.os }}
  39. runs-on: ${{ matrix.os }}
  40. strategy:
  41. matrix:
  42. os: [ubuntu-latest]
  43. steps:
  44. - uses: actions/checkout@v4
  45. - uses: actions-rs/toolchain@v1
  46. with:
  47. toolchain: nightly-2025-04-10
  48. override: true
  49. - uses: actions-rs/toolchain@v1
  50. with:
  51. toolchain: nightly-2025-04-10
  52. target: wasm32-unknown-unknown
  53. override: true
  54. - uses: taiki-e/install-action@cargo-hack
  55. - uses: Swatinem/rust-cache@v2
  56. - name: Update apt cache
  57. run: |
  58. sudo apt update -y
  59. - name: Install dependencies (Linux)
  60. run: |
  61. sh contrib/dependency_setup.sh
  62. if: matrix.os == 'ubuntu-latest'
  63. - name: Run feature powerset builds
  64. run: |
  65. make CARGO="cargo +nightly-2025-04-10" check
  66. fmt:
  67. name: rustfmt
  68. timeout-minutes: 30
  69. runs-on: ubuntu-latest
  70. steps:
  71. - uses: actions/checkout@v4
  72. - uses: actions-rs/toolchain@v1
  73. with:
  74. toolchain: nightly-2025-04-10
  75. components: rustfmt
  76. override: true
  77. - run: |
  78. cargo +nightly-2025-04-10 fmt -- --check