ci.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. runs-on: ${{ matrix.os }}
  9. steps:
  10. - uses: actions/checkout@v2
  11. - uses: actions-rs/toolchain@v1
  12. with:
  13. toolchain: nightly
  14. override: true
  15. - uses: actions-rs/toolchain@v1
  16. with:
  17. toolchain: nightly
  18. target: wasm32-unknown-unknown
  19. override: true
  20. - uses: Swatinem/rust-cache@v1
  21. - name: Install dependencies (Linux)
  22. run: |
  23. sudo apt update
  24. sudo apt -y install build-essential clang libclang-dev llvm-dev libudev-dev pkg-config libasound2-dev
  25. if: matrix.os == 'ubuntu-latest'
  26. - name: Install dependencies (macOS)
  27. run: |
  28. brew install llvm
  29. if: matrix.os == 'macos-latest'
  30. - name: Run test units
  31. run: |
  32. make test
  33. - name: Compile all bins
  34. run: |
  35. ./contrib/compile_all_bins.sh
  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@v2
  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@v1
  55. - name: Install dependencies (Linux)
  56. run: |
  57. sudo apt update
  58. sudo apt -y install build-essential clang libclang-dev llvm-dev libasound2-dev
  59. if: matrix.os == 'ubuntu-latest'
  60. - name: Install dependencies (macOS)
  61. run: |
  62. brew install llvm
  63. if: matrix.os == 'macos-latest'
  64. - name: Run feature powerset builds
  65. run: |
  66. make check
  67. fmt:
  68. name: rustfmt
  69. timeout-minutes: 30
  70. runs-on: ubuntu-latest
  71. steps:
  72. - uses: actions/checkout@v2
  73. - uses: actions-rs/toolchain@v1
  74. with:
  75. toolchain: nightly
  76. components: rustfmt
  77. override: true
  78. - run: |
  79. cargo fmt -- --check