ci.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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@v2
  12. - uses: actions-rs/toolchain@v1
  13. with:
  14. toolchain: stable
  15. override: true
  16. - uses: actions-rs/toolchain@v1
  17. with:
  18. toolchain: stable
  19. target: wasm32-unknown-unknown
  20. override: true
  21. - uses: Swatinem/rust-cache@v1
  22. - name: Install dependencies (Linux)
  23. run: |
  24. sudo apt update
  25. sudo apt -y install jq build-essential clang libclang-dev llvm-dev libudev-dev pkg-config
  26. if: matrix.os == 'ubuntu-latest'
  27. - name: Install dependencies (macOS)
  28. run: |
  29. brew install llvm
  30. if: matrix.os == 'macos-latest'
  31. - name: Run test units
  32. run: |
  33. make test
  34. - name: Compile all bins
  35. run: |
  36. ./script/compile_all_bins.sh
  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, macos-latest]
  43. steps:
  44. - uses: actions/checkout@v2
  45. - uses: actions-rs/toolchain@v1
  46. with:
  47. toolchain: stable
  48. override: true
  49. - uses: actions-rs/toolchain@v1
  50. with:
  51. toolchain: stable
  52. target: wasm32-unknown-unknown
  53. override: true
  54. - uses: taiki-e/install-action@cargo-hack
  55. - uses: Swatinem/rust-cache@v1
  56. - name: Install dependencies (Linux)
  57. run: |
  58. sudo apt update
  59. sudo apt -y install jq build-essential clang libclang-dev llvm-dev libudev-dev pkg-config
  60. if: matrix.os == 'ubuntu-latest'
  61. - name: Install dependencies (macOS)
  62. run: |
  63. brew install llvm
  64. if: matrix.os == 'macos-latest'
  65. - name: Run feature powerset builds
  66. run: |
  67. make check
  68. fmt:
  69. name: rustfmt
  70. timeout-minutes: 30
  71. runs-on: ubuntu-latest
  72. steps:
  73. - uses: actions/checkout@v2
  74. - uses: actions-rs/toolchain@v1
  75. with:
  76. toolchain: nightly
  77. override: true
  78. - run: |
  79. rustup component add rustfmt
  80. cargo fmt -- --check