ci.yml 2.1 KB

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