55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
name: Auto-update kernel
|
|
|
|
on:
|
|
schedule:
|
|
# daily, hour and minute chosen arbitrarily
|
|
- cron: "32 14 * * *"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.18
|
|
|
|
- name: Check latest kernel version from https://archive.raspberrypi.org/debian/
|
|
id: check
|
|
run: |
|
|
# split lines to fail on exit != 0
|
|
sha="$(go run ./cmd/check-update/main.go)"
|
|
echo "::set-output name=sha::$sha"
|
|
|
|
- name: Fetch latest kernel
|
|
if: steps.check.outputs.sha != ''
|
|
id: fetch
|
|
run: |
|
|
git submodule update --init --depth=1 linux-sources
|
|
cd linux-sources
|
|
git fetch --depth=1 origin ${{steps.check.outputs.sha}}
|
|
git checkout ${{steps.check.outputs.sha}}
|
|
|
|
# split lines to fail on exit != 0
|
|
version="$(make kernelversion)"
|
|
echo "::set-output name=version::$version"
|
|
cd ..
|
|
git diff --no-ext-diff
|
|
|
|
- name: Compile latest kernel
|
|
if: steps.check.outputs.sha != ''
|
|
run: go run cmd/compile/main.go
|
|
|
|
- name: Show kernel config
|
|
if: steps.check.outputs.sha != ''
|
|
run: cat linux-sources/.config
|
|
|
|
- name: Commit the new kernel
|
|
if: steps.check.outputs.sha != ''
|
|
uses: stefanzweifel/git-auto-commit-action@v4
|
|
with:
|
|
commit_message: kernel ${{steps.fetch.outputs.version}}
|
|
tagging_message: v1.0.1-${{steps.fetch.outputs.version}}
|