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 run: | docker run --rm \ -v "$PWD:/pkg" \ -w /pkg \ archlinux:latest \ bash -c "useradd -m builder && chown -R builder /pkg && su builder -c '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 <