mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-03 01:31:07 +00:00
fad08e8e23
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> (cherry picked from commit 203cc0a7ef0bbf3b5a19db3caa96e91963ec154c)
53 lines
1.5 KiB
YAML
53 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 }}
|