label-kernel.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # ci:kernel:x86:64 is going to trigger CI kernel check jobs for x86/64 target
  2. name: Build kernel and check patches for target specified in labels
  3. on:
  4. pull_request:
  5. types:
  6. - labeled
  7. jobs:
  8. set_target:
  9. if: startsWith(github.event.label.name, 'ci:kernel:')
  10. name: Set target
  11. runs-on: ubuntu-latest
  12. outputs:
  13. target: ${{ steps.set_target.outputs.target }}
  14. subtarget: ${{ steps.set_target.outputs.subtarget }}
  15. steps:
  16. - name: Set target
  17. id: set_target
  18. env:
  19. CI_EVENT_LABEL_NAME: ${{ github.event.label.name }}
  20. run: |
  21. echo "$CI_EVENT_LABEL_NAME" | sed -n 's/.*:\(.*\):\(.*\)$/target=\1/p' | tee --append $GITHUB_OUTPUT
  22. echo "$CI_EVENT_LABEL_NAME" | sed -n 's/.*:\(.*\):\(.*\)$/subtarget=\2/p' | tee --append $GITHUB_OUTPUT
  23. build_kernel:
  24. name: Build Kernel with external toolchain
  25. needs: set_target
  26. permissions:
  27. contents: read
  28. packages: read
  29. uses: ./.github/workflows/build.yml
  30. with:
  31. container_name: toolchain
  32. target: ${{ needs.set_target.outputs.target }}
  33. subtarget: ${{ needs.set_target.outputs.subtarget }}
  34. build_kernel: true
  35. build_all_kmods: true
  36. check-kernel-patches:
  37. name: Check Kernel patches
  38. needs: set_target
  39. permissions:
  40. contents: read
  41. packages: read
  42. uses: ./.github/workflows/check-kernel-patches.yml
  43. with:
  44. target: ${{ needs.set_target.outputs.target }}
  45. subtarget: ${{ needs.set_target.outputs.subtarget }}