99 lines
3.9 KiB
YAML
99 lines
3.9 KiB
YAML
name: Update AUR Package
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Build Tauri Clients"]
|
|
types:
|
|
- completed
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version tag (e.g. 0.6.6)"
|
|
required: true
|
|
|
|
jobs:
|
|
update-aur-package:
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set version
|
|
run: |
|
|
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
|
|
else
|
|
# Extract version from the triggering release
|
|
RELEASE_TAG=$(curl -s "https://api.github.com/repos/${{ github.repository }}/releases/latest" | jq -r .tag_name)
|
|
echo "VERSION=$RELEASE_TAG" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- name: Generate PKGBUILD
|
|
run: |
|
|
# Calculate checksums for both architectures
|
|
x86_64_url="https://github.com/madeofpendletonwool/PinePods/releases/download/$VERSION/Pinepods_${VERSION}_amd64.deb"
|
|
aarch64_url="https://github.com/madeofpendletonwool/PinePods/releases/download/$VERSION/Pinepods_${VERSION}_arm64.deb"
|
|
|
|
echo "Downloading and calculating checksums..."
|
|
curl -L "$x86_64_url" -o x86_64.deb
|
|
curl -L "$aarch64_url" -o aarch64.deb
|
|
|
|
x86_64_sum=$(sha256sum x86_64.deb | cut -d' ' -f1)
|
|
aarch64_sum=$(sha256sum aarch64.deb | cut -d' ' -f1)
|
|
|
|
cat > PKGBUILD << EOF
|
|
pkgname=pinepods
|
|
pkgver=$VERSION
|
|
pkgrel=1
|
|
pkgdesc="Pinepods is a complete podcast management system and allows you to play, download, and keep track of podcasts you enjoy. All self hosted and enjoyed on your own server!"
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://github.com/madeofpendletonwool/PinePods"
|
|
license=('gpl3')
|
|
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk')
|
|
options=('!strip' '!emptydirs')
|
|
source_x86_64=("https://github.com/madeofpendletonwool/PinePods/releases/download/\${pkgver}/Pinepods_\${pkgver}_amd64.deb")
|
|
source_aarch64=("https://github.com/madeofpendletonwool/PinePods/releases/download/\${pkgver}/Pinepods_\${pkgver}_arm64.deb")
|
|
sha256sums_x86_64=('$x86_64_sum')
|
|
sha256sums_aarch64=('$aarch64_sum')
|
|
|
|
package() {
|
|
# Extract the .deb package
|
|
cd "\$srcdir"
|
|
tar xf data.tar.gz -C "\$pkgdir/"
|
|
|
|
# Create symlink from /usr/bin/app to /usr/bin/pinepods
|
|
ln -s /usr/bin/app "\$pkgdir/usr/bin/pinepods"
|
|
|
|
# Ensure correct permissions
|
|
chmod 755 "\$pkgdir/usr/bin/app"
|
|
chmod 644 "\$pkgdir/usr/share/applications/Pinepods.desktop"
|
|
find "\$pkgdir/usr/share/icons" -type f -exec chmod 644 {} +
|
|
find "\$pkgdir" -type d -exec chmod 755 {} +
|
|
}
|
|
EOF
|
|
|
|
- name: Test PKGBUILD
|
|
uses: KSXGitHub/github-actions-deploy-aur@v3.0.1
|
|
with:
|
|
pkgname: pinepods
|
|
pkgbuild: ./PKGBUILD
|
|
test: true
|
|
commit_username: ${{ secrets.GIT_USER }}
|
|
commit_email: ${{ secrets.GIT_EMAIL }}
|
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
commit_message: "Update to version ${{ env.VERSION }}"
|
|
ssh_keyscan_types: rsa,ecdsa,ed25519
|
|
|
|
- name: Publish AUR package
|
|
if: success()
|
|
uses: KSXGitHub/github-actions-deploy-aur@v3.0.1
|
|
with:
|
|
pkgname: pinepods
|
|
pkgbuild: ./PKGBUILD
|
|
commit_username: ${{ secrets.GIT_USER }}
|
|
commit_email: ${{ secrets.GIT_EMAIL }}
|
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
commit_message: "Update to version ${{ env.VERSION }}"
|
|
ssh_keyscan_types: rsa,ecdsa,ed25519
|