build.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. name: Build
  2. on:
  3. push:
  4. branches: [ main ]
  5. pull_request:
  6. branches: [ main ]
  7. env:
  8. CARGO_TERM_COLOR: always
  9. jobs:
  10. build:
  11. strategy:
  12. fail-fast: false
  13. matrix:
  14. include:
  15. - TARGET: x86_64-unknown-linux-gnu
  16. OS: ubuntu-latest
  17. - TARGET: aarch64-unknown-linux-gnu
  18. OS: ubuntu-latest
  19. - TARGET: i686-unknown-linux-gnu
  20. OS: ubuntu-latest
  21. runs-on: ${{ matrix.OS }}
  22. env:
  23. TARGET: ${{ matrix.TARGET }}
  24. steps:
  25. - uses: actions/checkout@v2
  26. with:
  27. submodules: 'recursive'
  28. - name: Install Rust
  29. uses: actions-rs/toolchain@v1
  30. with:
  31. toolchain: nightly
  32. default: true
  33. profile: minimal
  34. target: ${{ matrix.target }}
  35. components: llvm-tools-preview
  36. - name: Build rsdp, acpi, and aml
  37. run: cargo build -p rsdp -p acpi -p aml --target $TARGET
  38. test:
  39. runs-on: ubuntu-latest
  40. steps:
  41. - uses: actions/checkout@v2
  42. with:
  43. submodules: 'recursive'
  44. - name: Install Rust
  45. uses: actions-rs/toolchain@v1
  46. with:
  47. toolchain: nightly
  48. default: true
  49. profile: minimal
  50. - name: Install dependencies
  51. run: sudo apt-get install -y acpica-tools
  52. - name: Run tests
  53. run: cargo test --all
  54. - name: Run AML test suite
  55. run: cargo run --bin aml_tester -- -p tests --reset