Skip to content

Upload to AUR

Upload to AUR #39

name: Upload to AUR
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check tag aka check release type
id: checktag
run: |
if [[ "${{ github.ref }}" == *"dev"* ]]; then
echo "Skip the workflow as the tag contains 'dev'"
echo "::set-output name=skip::true"
else
echo "Continue the workflow"
echo "::set-output name=skip::false"
fi
shell: bash
- name: Extract tag name
id: get_version
run: echo ::set-output name=TAG_VERSION::${{ github.event.release.tag_name }}
- name: Extra tag name without v
id: get_version_without_v
run: echo ::set-output name=TAG_VERSION_WITHOUT_V::$(echo "${{ github.event.release.tag_name }}" | sed 's/^v//')
- name: Extract package_file_name
id: get_package_file_name
run: echo ::set-output name=PACKAGE_FILE_NAME::siyuan-${{ steps.get_version_without_v.outputs.TAG_VERSION_WITHOUT_V }}-linux.AppImage
- name: Create PKGBUILD
run: |
cat << EOF >> PKGBUILD
# maintainer: zxkmm (IHp4a21tQGhvdG1haWwuY29t)
# auto running on siyuan official repo
# PKGBUILD is modified from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=siyuan-appimage
# which is made by vvxxp8 <concatenate[g] the characters[x] in square[b] brackets[1] in[5] order[3] at gmail dot com>
pkgname=siyuan_stable
pkgver=${{ steps.get_version.outputs.TAG_VERSION }}
pkgrel=0
pkgdesc="auto upload to AUR when SiYuan stable release"
arch=("x86_64")
url="https://b3log.org/siyuan"
license=("AGPL-3.0-only")
_pkgname=${{ steps.get_package_file_name.outputs.PACKAGE_FILE_NAME }}
noextract=(${{ steps.get_package_file_name.outputs.PACKAGE_FILE_NAME }})
options=("!strip" "!debug")
depends=("fuse2")
optdepends=('pandoc: docx export')
source=("\${_pkgname}::https://github.com/siyuan-note/siyuan/releases/download/${{ steps.get_version.outputs.TAG_VERSION }}/${{ steps.get_package_file_name.outputs.PACKAGE_FILE_NAME }}")
sha256sums=('SKIP')
_installdir=/opt/appimages
prepare() {
chmod a+x \${_pkgname}
./\${_pkgname} --appimage-extract >/dev/null
sed -i "s+AppRun+\${_installdir}/siyuan.AppImage+" "squashfs-root/siyuan.desktop"
sed -i "s+^Icon=.*+Icon=siyuan_stable+" "squashfs-root/siyuan.desktop"
}
package() {
install -Dm755 \${_pkgname} "\${pkgdir}/\${_installdir}/siyuan.AppImage"
install -Dm644 "squashfs-root/resources/stage/icon.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/siyuan_stable.png"
install -Dm644 "squashfs-root/siyuan.desktop" "\${pkgdir}/usr/share/applications/siyuan_stable.desktop"
if [ ! -f "${pkgdir}/usr/bin/siyuan" ]; then
mkdir -p "${pkgdir}/usr/bin"
echo '#!/bin/sh' > "${pkgdir}/usr/bin/siyuan"
echo "exec ${_installdir}/siyuan.AppImage" >> "${pkgdir}/usr/bin/siyuan"
chmod 755 "${pkgdir}/usr/bin/siyuan"
fi
}
EOF
- name: Publish AUR package
uses: KSXGitHub/github-actions-deploy-aur@v2.7.2
with:
pkgname: siyuan_stable
pkgbuild: ./PKGBUILD
commit_username: ${{ secrets.AUR_USERNAME }}
commit_email: ${{ secrets.AUR_EMAIL }}
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
commit_message: Update AUR package
ssh_keyscan_types: rsa,ecdsa,ed25519