Add GitHub Action to publish to AUR on version tag
parent
44d4df4171
commit
2443986ff6
|
|
@ -0,0 +1,63 @@
|
|||
name: Publish to AUR
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Extract version from tag
|
||||
id: version
|
||||
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Compute sha256 of GitHub tarball
|
||||
id: sha256
|
||||
run: |
|
||||
URL="https://github.com/${{ github.repository }}/archive/refs/tags/${GITHUB_REF_NAME}.tar.gz"
|
||||
SHA=$(curl -sL "$URL" | sha256sum | awk '{print $1}')
|
||||
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Update PKGBUILD version and checksum
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.version }}"
|
||||
SHA="${{ steps.sha256.outputs.sha256 }}"
|
||||
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" PKGBUILD
|
||||
sed -i "s/^pkgrel=.*/pkgrel=1/" PKGBUILD
|
||||
sed -i "s/^sha256sums=.*/sha256sums=('${SHA}')/" PKGBUILD
|
||||
|
||||
- name: Generate .SRCINFO
|
||||
uses: docker://archlinux:latest
|
||||
with:
|
||||
args: bash -c "pacman -Sy --noconfirm pacman && makepkg --printsrcinfo > .SRCINFO"
|
||||
|
||||
- name: Set up SSH for AUR
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.AUR_SSH_KEY }}" > ~/.ssh/aur
|
||||
chmod 600 ~/.ssh/aur
|
||||
ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts
|
||||
cat >> ~/.ssh/config <<EOF
|
||||
Host aur.archlinux.org
|
||||
IdentityFile ~/.ssh/aur
|
||||
User aur
|
||||
EOF
|
||||
|
||||
- name: Clone AUR repo
|
||||
run: git clone ssh://aur@aur.archlinux.org/${{ github.event.repository.name }}.git /tmp/aur-pkg
|
||||
|
||||
- name: Copy files and push to AUR
|
||||
run: |
|
||||
cp PKGBUILD .SRCINFO /tmp/aur-pkg/
|
||||
cd /tmp/aur-pkg
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
git add PKGBUILD .SRCINFO
|
||||
git commit -m "Update to ${{ github.ref_name }}"
|
||||
git push
|
||||
Loading…
Reference in New Issue