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: echo "::set-output name=sha::$(go run ./cmd/check-update/main.go)" - 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}} echo "::set-output name=version::$(make kernelversion)" cd .. git diff --no-ext-diff - name: Compile latest kernel if: steps.check.outputs.sha != '' run: go run cmd/compile/main.go - 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.0-${{steps.fetch.outputs.version}}