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