makefile.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. name: Build Check
  2. on:
  3. push:
  4. branches: ["master", "feat-*", "fix-*"]
  5. pull_request:
  6. branches: ["master", "feat-*", "fix-*"]
  7. jobs:
  8. format-check:
  9. name: Format check ${{ matrix.arch }}
  10. runs-on: ubuntu-latest
  11. continue-on-error: true
  12. container: dragonos/dragonos-dev:v1.12
  13. strategy:
  14. matrix:
  15. arch: [x86_64, riscv64, loongarch64]
  16. steps:
  17. - run: echo "Running in dragonos/dragonos-dev:v1.12"
  18. - uses: actions/checkout@v3
  19. - name: Format check
  20. env:
  21. ARCH: ${{ matrix.arch }}
  22. HOME: /root
  23. shell: bash -ileo pipefail {0}
  24. run: |
  25. printf "\n" >> kernel/src/include/bindings/bindings.rs
  26. sed -i 's/arch = ".*"/arch = "${{ matrix.arch }}"/' dadk-manifest.toml
  27. FMT_CHECK=1 make fmt
  28. kernel-static-test:
  29. name: Kernel static test ${{ matrix.arch }}
  30. runs-on: ubuntu-latest
  31. continue-on-error: true
  32. container: dragonos/dragonos-dev:v1.12
  33. strategy:
  34. matrix:
  35. arch: [x86_64, riscv64, loongarch64]
  36. steps:
  37. - run: echo "Running in dragonos/dragonos-dev:v1.12"
  38. - uses: actions/checkout@v3
  39. - name: Run kernel static test
  40. shell: bash -ileo pipefail {0}
  41. env:
  42. ARCH: ${{ matrix.arch }}
  43. HOME: /root
  44. run: bash -c "source /root/.cargo/env && cd kernel && make test && make test-rbpf"
  45. build:
  46. name: Build ${{ matrix.arch }}
  47. runs-on: ubuntu-latest
  48. container: dragonos/dragonos-dev:v1.12
  49. continue-on-error: true
  50. strategy:
  51. matrix:
  52. include:
  53. - arch: x86_64
  54. make_target: all
  55. checkout_params: {}
  56. - arch: riscv64
  57. make_target: all
  58. checkout_params:
  59. submodules: "recursive"
  60. - arch: loongarch64
  61. make_target: all
  62. checkout_params: {}
  63. steps:
  64. - run: echo "Running in dragonos/dragonos-dev:v1.12"
  65. - uses: actions/checkout@v3
  66. with: ${{ matrix.checkout_params }}
  67. - name: Build the DragonOS
  68. env:
  69. ARCH: ${{ matrix.arch }}
  70. HOME: /root
  71. shell: bash -ileo pipefail {0}
  72. run: |
  73. source $HOME/.bashrc
  74. source $HOME/.cargo/env
  75. if [[ "$ARCH" == "x86_64" ]]; then
  76. export DragonOS_GCC=$HOME/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin
  77. fi
  78. sed -i 's/arch = ".*"/arch = "${{ env.ARCH }}"/' dadk-manifest.toml
  79. make ${{ matrix.make_target }} -j $(nproc)