aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/label-kernel.yml
blob: 29a9d795588ac3a69e5b9a328f73c005633c78a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# ci:kernel:x86:64 is going to trigger CI kernel check jobs for x86/64 target

name: Build kernel and check patches for target specified in labels
on:
  pull_request:
    types:
      - labeled

jobs:
  set_target:
    if: startsWith(github.event.label.name, 'ci:kernel:')
    name: Set target
    runs-on: ubuntu-latest
    outputs:
      target: ${{ steps.set_target.outputs.target }}
      subtarget: ${{ steps.set_target.outputs.subtarget }}

    steps:
      - name: Set target
        id: set_target
        env:
          CI_EVENT_LABEL_NAME: ${{ github.event.label.name }}
        run: |
          echo "$CI_EVENT_LABEL_NAME" | sed -n 's/.*:\(.*\):\(.*\)$/target=\1/p' | tee --append $GITHUB_OUTPUT
          echo "$CI_EVENT_LABEL_NAME" | sed -n 's/.*:\(.*\):\(.*\)$/subtarget=\2/p' | tee --append $GITHUB_OUTPUT

  build_kernel:
    name: Build Kernel with external toolchain
    needs: set_target
    permissions:
      contents: read
      packages: read
      actions: write
    uses: ./.github/workflows/build.yml
    with:
      container_name: toolchain
      target: ${{ needs.set_target.outputs.target }}
      subtarget: ${{ needs.set_target.outputs.subtarget }}
      build_kernel: true
      build_all_kmods: true

  check-kernel-patches:
    name: Check Kernel patches
    needs: set_target
    permissions:
      contents: read
      packages: read
      actions: write
    uses: ./.github/workflows/check-kernel-patches.yml
    with:
      target: ${{ needs.set_target.outputs.target }}
      subtarget: ${{ needs.set_target.outputs.subtarget }}