mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-13 00:17:02 +04:00
Manual workflow_dispatch and push share the same ref on main, so
they previously landed in the same concurrency group
'Build Kernel-refs/heads/main' (and the equivalent for the packages
workflow). With cancel-in-progress: false for non-PR events, only
one run can be pending per group: a newer queued run cancels the
older pending one.
That made the manual trigger unreliable in both directions. A push
landing while a dispatch was queued displaced the dispatch (so the
ccache reseed never ran), and dispatching while a push was queued
displaced the push (so the legitimate per-commit build was lost).
Adding github.event_name to the concurrency group puts pushes,
dispatches, and pull_requests in separate buckets on the same ref,
so they no longer compete with each other.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/23283
(cherry picked from commit 3c7a1418c1)
Link: https://github.com/openwrt/openwrt/pull/24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
name: Build Kernel
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/check-kernel-patches.yml'
|
|
- '.github/workflows/build.yml'
|
|
- '.github/workflows/kernel.yml'
|
|
- 'include/kernel*'
|
|
- 'package/kernel/**'
|
|
- 'target/linux/**'
|
|
push:
|
|
paths:
|
|
- '.github/workflows/check-kernel-patches.yml'
|
|
- '.github/workflows/build.yml'
|
|
- '.github/workflows/kernel.yml'
|
|
- 'include/kernel*'
|
|
- 'package/kernel/**'
|
|
- 'target/linux/**'
|
|
branches-ignore:
|
|
- master
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
build-kernels:
|
|
name: Build all affected Kernels
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
actions: write
|
|
secrets:
|
|
ccache_s3_endpoint: ${{ secrets.CCACHE_S3_ENDPOINT }}
|
|
ccache_s3_bucket: ${{ secrets.CCACHE_S3_BUCKET }}
|
|
ccache_s3_access_key: ${{ secrets.CCACHE_S3_ACCESS_KEY }}
|
|
ccache_s3_secret_key: ${{ secrets.CCACHE_S3_SECRET_KEY }}
|
|
uses: openwrt/actions-shared-workflows/.github/workflows/kernel.yml@main
|