ci: allow custom kernel and target jobs based on labels
[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\/\2"/p' | tee --append $GITHUB_OUTPUT
24
25 build_kernel:
26 name: Build Kernel with external toolchain
27 needs: set_target
28 permissions:
29 contents: read
30 packages: read
31 uses: ./.github/workflows/build.yml
32 with:
33 target: ${{ needs.set_target.outputs.target }}
34 build_kernel: true
35 build_all_kmods: true
36
37 check-kernel-patches:
38 name: Check Kernel patches
39 needs: set_target
40 permissions:
41 contents: read
42 packages: read
43 uses: ./.github/workflows/check-kernel-patches.yml
44 with:
45 target: ${{ needs.set_target.outputs.target }}