Add timetable-bin with automated AUR update workflow

This commit is contained in:
Felitendo committed 2026-07-17 09:44:50 +02:00
commit 6f7398075a
7 files changed
+345

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
name: Update AUR packages
on:
schedule:
# every 6 hours (offset from the full hour to avoid GitHub's load spikes)
- cron: '37 */6 * * *'
workflow_dispatch:
push:
branches: [main]
paths:
- '*/PKGBUILD'
- '*/pkg.sh'
- 'scripts/**'
- '.github/workflows/update.yml'
permissions:
contents: write
jobs:
discover:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.list.outputs.packages }}
steps:
- uses: actions/checkout@v4
- id: list
run: |
echo "packages=$(ls -d */PKGBUILD 2>/dev/null | xargs -r -n1 dirname | jq -R . | jq -cs .)" >> "$GITHUB_OUTPUT"
update:
needs: discover
if: needs.discover.outputs.packages != '[]'
runs-on: ubuntu-latest
container:
image: archlinux:base-devel
strategy:
fail-fast: false
# serialize so parallel jobs don't race on pushing to this repository
max-parallel: 1
matrix:
package: ${{ fromJson(needs.discover.outputs.packages) }}
env:
GH_TOKEN: ${{ github.token }}
steps:
- name: Install base tooling
run: pacman -Syu --noconfirm --needed git openssh github-cli jq zstd
- uses: actions/checkout@v4
- name: Update ${{ matrix.package }}
env:
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
AUR_GIT_NAME: ${{ vars.AUR_GIT_NAME }}
AUR_GIT_EMAIL: ${{ vars.AUR_GIT_EMAIL }}
run: bash scripts/update-package.sh "${{ matrix.package }}"