瀏覽代碼

aur auto release (#11309)

* aur auto release test

* pipeline test

* pipeline test

* finale
summermorningdream 1 年之前
父節點
當前提交
aa6340541b
共有 1 個文件被更改,包括 84 次插入0 次删除
  1. 84 0
      .github/workflows/auto_aur_release_stable.yml

+ 84 - 0
.github/workflows/auto_aur_release_stable.yml

@@ -0,0 +1,84 @@
+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"
+          }
+          EOF
+
+      - name: Publish AUR package
+        uses: KSXGitHub/github-actions-deploy-aur@v2.7.1
+        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,dsa,ecdsa,ed25519