name: Release to AUR on: workflow_call: inputs: package-name: required: true type: string description: required: true type: string depends: required: true type: string flags: required: true type: string workflow_dispatch: inputs: package-name: description: "The name under which the package is going to be packaged to AUR" type: string default: "lmdbal" description: description: "The description of the package" type: string default: "LMDB Abstraction Layer" depends: description: "Additional dependencies" type: string default: "" flags: description: "Additional CMake flags" type: string default: "" jobs: aur: name: Releasing ${{ inputs.package-name }} to AUR runs-on: archlinux steps: - name: Download the release tarball run: curl -sL ${{ gitea.server_url }}/${{ gitea.repository }}/archive/${{ gitea.event.release.tag_name }}.tar.gz --output tarball.tar.gz - name: Calculate SHA256 for the tarball run: echo "tbSum=$(sha256sum tarball.tar.gz | cut -d ' ' -f 1)" >> $GITHUB_ENV - name: Unarchive tarball run: tar -xvzf tarball.tar.gz - name: Clone the AUR repository run: | echo "${{ secrets.DEPLOY_TO_AUR_PRIVATE_KEY }}" > key chmod 600 key GIT_SSH_COMMAND="ssh -i key -o 'IdentitiesOnly yes' -o 'StrictHostKeyChecking no'" git clone ssh://aur@aur.archlinux.org/${{ inputs.package-name }}.git aur chmod 777 -R aur cd aur git config user.name ${{ secrets.DEPLOY_TO_AUR_USER_NAME }} git config user.email ${{ secrets.DEPLOY_TO_AUR_EMAIL }} - name: Copy PKGBUILD to the directory run: cp lmdbal/packaging/Archlinux/PKGBUILD aur/ - name: Patch PKGBUILD file, and generate .SRCINFO working-directory: aur run: | sed -i "/sha256sums=/c\sha256sums=('${{ env.tbSum }}')" PKGBUILD sed -i "/pkgname=lmdbal/c\pkgname=${{ inputs.package-name }}" PKGBUILD sed -i "/pkgver=1.0.0/c\pkgver=${{ gitea.event.release.tag_name }}" PKGBUILD sed -i "/pkgdesc=\"LMDB Abstraction Layer\"/c\pkgdesc=\"${{ inputs.description }}\"" PKGBUILD sed -i "/depends=( 'lmdb' )/c\depends=( 'lmdb' ${{ inputs.depends }} )" PKGBUILD sed -i '/cmake . -D/s/$/ ${{ inputs.flags }}/' PKGBUILD sudo -u build makepkg --printsrcinfo > .SRCINFO - name: Commit package to aur working-directory: aur run: | git add PKGBUILD .SRCINFO git commit -m "${{ gitea.event.release.body }}" GIT_SSH_COMMAND="ssh -i ../key -o 'IdentitiesOnly yes' -o 'StrictHostKeyChecking no'" git push