kernel-rpi-os-32/.github/workflows/cron.yml
2022-04-23 21:28:30 +02:00

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}}