Github Actions cache doesn't permit to overwrite cache if it does already exist. As a trick to refresh and have fresh ccache pool, delete the ccache cache if it does exist with the help of Github REST API. An additional permission is needed to access this API. Add this permittion to each user of the build workflow. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
# 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 }}
|