Repository navigation
Kernel Build #188
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Kernel Build | |
| on: | |
| # Weekly auto-build | |
| schedule: | |
| - cron: "0 0 * * 1" | |
| # A merge that changes a kernel config snippet changes the built kernel | |
| # without moving any kernel branch, so `new` would see nothing to do. Force a | |
| # rebuild now rather than waiting for the weekly cron. On main the tags carry | |
| # no branch suffix, so this overwrites the canonical tags with the new config | |
| # content. | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "configs/**" | |
| workflow_dispatch: | |
| inputs: | |
| spec: | |
| description: 'Build Specification' | |
| type: string | |
| default: "new" | |
| required: true | |
| publish: | |
| description: 'Publish Builds' | |
| type: boolean | |
| default: true | |
| required: true | |
| # this job will publish images, and needs higher perms. | |
| permissions: | |
| contents: read | |
| packages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| uses: ./.github/workflows/matrix.yml | |
| secrets: inherit | |
| with: | |
| # schedule/push carry no inputs, so these fallbacks are what the cron and | |
| # the configs/** push actually build. The cron only wants branches that | |
| # have moved (`new`); a configs/** merge changed the build inputs without | |
| # moving anything, so it has to force `rebuild`. | |
| spec: ${{ inputs.spec || (github.event_name == 'push' && 'rebuild' || 'new') }} | |
| publish: ${{ inputs.publish == '' || inputs.publish }} |