name: AUR Nightly (kst4contest-git) on: workflow_run: workflows: ["Nightly Runtime Artifacts"] types: [completed] workflow_dispatch: env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: update-aur-git: if: >- github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' runs-on: ubuntu-latest container: image: archlinux:latest steps: - name: Install dependencies run: | pacman -Sy --noconfirm git openssh base-devel useradd -m builder - name: Checkout uses: actions/checkout@v4.1.7 with: fetch-depth: 0 - name: Compute pkgver id: ver run: | BASE=$(grep -m1 '' pom.xml \ | sed 's/.*\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//') GIT_PKGVER="${BASE}.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)" echo "pkgver=${GIT_PKGVER}" >> "$GITHUB_OUTPUT" - name: Update PKGBUILD env: PKGVER: ${{ steps.ver.outputs.pkgver }} run: | sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest-git/PKGBUILD - name: Generate .SRCINFO run: | cp -r packaging/aur/kst4contest-git /tmp/kst4contest-git chown -R builder:builder /tmp/kst4contest-git su builder -c "cd /tmp/kst4contest-git && makepkg --printsrcinfo > .SRCINFO" cp /tmp/kst4contest-git/.SRCINFO packaging/aur/kst4contest-git/.SRCINFO cat packaging/aur/kst4contest-git/.SRCINFO - name: Commit updated PKGBUILD to repo env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git config user.name "github-actions[bot]" git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" git add packaging/aur/kst4contest-git/ git diff --cached --quiet && echo "No changes to commit." && exit 0 git commit -m "chore: update kst4contest-git to ${{ steps.ver.outputs.pkgver }} [skip ci]" git push - name: Set up AUR SSH env: AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }} run: | mkdir -p ~/.ssh printf '%s\n' "${AUR_SSH_PRIVATE_KEY}" > ~/.ssh/aur_ed25519 chmod 600 ~/.ssh/aur_ed25519 ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts cat >> ~/.ssh/config << 'EOF' Host aur.archlinux.org IdentityFile ~/.ssh/aur_ed25519 User aur EOF - name: Push to AUR run: | git config --global user.email "philipp@wagnersnetz.de" git config --global user.name "Philipp Wagner" AUR_DIR="/tmp/aur/kst4contest-git" git clone "ssh://aur@aur.archlinux.org/kst4contest-git.git" "${AUR_DIR}" 2>/dev/null || { mkdir -p "${AUR_DIR}" git -C "${AUR_DIR}" init git -C "${AUR_DIR}" remote add origin "ssh://aur@aur.archlinux.org/kst4contest-git.git" } cp packaging/aur/kst4contest-git/PKGBUILD "${AUR_DIR}/" cp packaging/aur/kst4contest-git/.SRCINFO "${AUR_DIR}/" git -C "${AUR_DIR}" add PKGBUILD .SRCINFO git -C "${AUR_DIR}" diff --cached --quiet \ && echo "kst4contest-git: no changes, skipping push" && exit 0 git -C "${AUR_DIR}" commit -m "Update pkgver to ${{ steps.ver.outputs.pkgver }}" git -C "${AUR_DIR}" push origin HEAD:master echo "kst4contest-git: pushed to AUR"