From 70e7169a0581174411c57c59d6b29229d17659be Mon Sep 17 00:00:00 2001 From: Thien An Dang Thanh <24854119+thienandangthanh@users.noreply.github.com> Date: Fri, 3 Apr 2026 10:04:19 +0900 Subject: [PATCH 1/4] ci: add AUR publishing workflow for fcitx5 and ibus packages Add automated AUR publishing via GitHub Actions on release tags: - Create PKGBUILD templates for fcitx5-vnkey-bin and ibus-vnkey-bin - Add aur-publish job that extracts version and SHA256 from releases - Use github-actions-deploy-aur to push updates to AUR repositories - Support both fcitx5 and ibus variants via matrix strategy This enables automatic AUR package updates whenever a new release is tagged. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .github/aur/fcitx5-vnkey-bin/PKGBUILD | 18 ++++++++++ .github/aur/ibus-vnkey-bin/PKGBUILD | 18 ++++++++++ .github/workflows/build.yml | 49 +++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 .github/aur/fcitx5-vnkey-bin/PKGBUILD create mode 100644 .github/aur/ibus-vnkey-bin/PKGBUILD diff --git a/.github/aur/fcitx5-vnkey-bin/PKGBUILD b/.github/aur/fcitx5-vnkey-bin/PKGBUILD new file mode 100644 index 0000000..48bf2cc --- /dev/null +++ b/.github/aur/fcitx5-vnkey-bin/PKGBUILD @@ -0,0 +1,18 @@ +# Maintainer: Bixa +# Maintainer: Thien An Dang Thanh <24854119+thienandangthanh at users.noreply.github.com> + +pkgname=fcitx5-vnkey-bin +pkgver=PLACEHOLDER_VER +pkgrel=1 +pkgdesc="Vietnamese IME for Fcitx5" +arch=('x86_64') +url="https://github.com/marixdev/vnkey" +license=('GPL') +depends=('fcitx5') +source=("$pkgname-$pkgver.pkg.tar.zst::https://github.com/marixdev/vnkey/releases/download/v$pkgver/vnkey-fcitx5-v$pkgver-1-x86_64.pkg.tar.zst") +sha256sums=('PLACEHOLDER_SHA256') + +package() { + cp -a "$srcdir/." "$pkgdir/" + rm -rf "$pkgdir/.PKGINFO" "$pkgdir/.BUILDINFO" "$pkgdir/.MTREE" "$pkgdir/.INSTALL" 2>/dev/null || true +} diff --git a/.github/aur/ibus-vnkey-bin/PKGBUILD b/.github/aur/ibus-vnkey-bin/PKGBUILD new file mode 100644 index 0000000..b1ee0d7 --- /dev/null +++ b/.github/aur/ibus-vnkey-bin/PKGBUILD @@ -0,0 +1,18 @@ +# Maintainer: Bixa +# Maintainer: Thien An Dang Thanh <24854119+thienandangthanh at users.noreply.github.com> + +pkgname=ibus-vnkey-bin +pkgver=PLACEHOLDER_VER +pkgrel=1 +pkgdesc="Vietnamese IME for IBus" +arch=('x86_64') +url="https://github.com/marixdev/vnkey" +license=('GPL') +depends=('ibus') +source=("$pkgname-$pkgver.pkg.tar.zst::https://github.com/marixdev/vnkey/releases/download/v$pkgver/vnkey-ibus-v$pkgver-1-x86_64.pkg.tar.zst") +sha256sums=('PLACEHOLDER_SHA256') + +package() { + cp -a "$srcdir/." "$pkgdir/" + rm -rf "$pkgdir/.PKGINFO" "$pkgdir/.BUILDINFO" "$pkgdir/.MTREE" "$pkgdir/.INSTALL" 2>/dev/null || true +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5934026..322a719 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -541,3 +541,52 @@ jobs: with: files: release/* body_path: /tmp/release_body.md + + # ===== Publish to AUR ===== + aur-publish: + if: startsWith(github.ref, 'refs/tags/v') + needs: [release] + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - pkgname: fcitx5-vnkey-bin + artifact_prefix: vnkey-fcitx5 + - pkgname: ibus-vnkey-bin + artifact_prefix: vnkey-ibus + steps: + - uses: actions/checkout@v4 + + - name: Extract pkgver and SHA256 from release + id: meta + run: | + PKGVER="${GITHUB_REF_NAME#v}" + ARTIFACT_FILE="${{ matrix.artifact_prefix }}-v${PKGVER}-1-x86_64.pkg.tar.zst" + SHA256=$(curl -fsSL \ + "https://github.com/marixdev/vnkey/releases/download/v${PKGVER}/SHA256SUMS.txt" \ + | grep "${ARTIFACT_FILE}" | awk '{print $1}') + if [ -z "$SHA256" ]; then + echo "::error::Failed to extract SHA256 for ${ARTIFACT_FILE}" + exit 1 + fi + echo "pkgver=$PKGVER" >> "$GITHUB_OUTPUT" + echo "sha256=$SHA256" >> "$GITHUB_OUTPUT" + + - name: Patch PKGBUILD + run: | + cp .github/aur/${{ matrix.pkgname }}/PKGBUILD ./PKGBUILD + sed -i "s/PLACEHOLDER_VER/${{ steps.meta.outputs.pkgver }}/g" PKGBUILD + sed -i "s/PLACEHOLDER_SHA256/${{ steps.meta.outputs.sha256 }}/g" PKGBUILD + cat PKGBUILD + + - name: Publish to AUR + uses: KSXGitHub/github-actions-deploy-aur@v4.1.1 + with: + pkgname: ${{ matrix.pkgname }} + pkgbuild: ./PKGBUILD + commit_username: ${{ secrets.AUR_USERNAME }} + commit_email: ${{ secrets.AUR_EMAIL }} + ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} + commit_message: "Update to ${{ steps.meta.outputs.pkgver }}" + ssh_keyscan_types: rsa,ecdsa,ed25519 From 57b49ad77b5b46868dc944934f2e243d099987c8 Mon Sep 17 00:00:00 2001 From: Thien An Dang Thanh <24854119+thienandangthanh@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:49:30 +0900 Subject: [PATCH 2/4] docs: update Arch Linux installation to use AUR helpers Replace manual package installation with paru/yay commands for fcitx5-vnkey-bin and ibus-vnkey-bin packages. This simplifies the installation process for Arch users by leveraging AUR helpers instead of requiring manual package downloads. --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2b61972..2fb6879 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,9 @@ sudo dpkg -i vnkey-fcitx5_1.0.1_amd64.deb sudo dnf install ./vnkey-fcitx5-1.0.1-1.x86_64.rpm # Arch Linux -sudo pacman -U vnkey-fcitx5-1.0.1-1-x86_64.pkg.tar.zst +paru -S fcitx5-vnkey-bin +# hoặc +yay -S fcitx5-vnkey-bin ``` #### NixOS (Fcitx5) @@ -110,7 +112,9 @@ sudo dpkg -i vnkey-ibus_1.0.1_amd64.deb sudo dnf install ./vnkey-ibus-1.0.1-1.x86_64.rpm # Arch Linux -sudo pacman -U vnkey-ibus-1.0.1-1-x86_64.pkg.tar.zst +paru -S ibus-vnkey-bin +# hoặc +yay -S ibus-vnkey-bin ``` #### NixOS (IBus) From d6249bdf7ff23d0dfa38f300fde7ffc006939c4b Mon Sep 17 00:00:00 2001 From: Thien An Dang Thanh <24854119+thienandangthanh@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:35:02 +0900 Subject: [PATCH 3/4] ci: avoid hardcoded repository in release URL This allows fetching SHA256SUMS.txt from both upstream and fork. Reference: https://docs.github.com/en/actions/reference/workflows-and-actions/variables#:~:text=GITHUB%5FREPOSITORY --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 322a719..e228aef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -564,7 +564,7 @@ jobs: PKGVER="${GITHUB_REF_NAME#v}" ARTIFACT_FILE="${{ matrix.artifact_prefix }}-v${PKGVER}-1-x86_64.pkg.tar.zst" SHA256=$(curl -fsSL \ - "https://github.com/marixdev/vnkey/releases/download/v${PKGVER}/SHA256SUMS.txt" \ + "https://github.com/${GITHUB_REPOSITORY}/releases/download/v${PKGVER}/SHA256SUMS.txt" \ | grep "${ARTIFACT_FILE}" | awk '{print $1}') if [ -z "$SHA256" ]; then echo "::error::Failed to extract SHA256 for ${ARTIFACT_FILE}" From 21ba80127bbd9746d9102230051875b93e653c3b Mon Sep 17 00:00:00 2001 From: Thien An Dang Thanh <24854119+thienandangthanh@users.noreply.github.com> Date: Fri, 3 Apr 2026 10:22:07 +0900 Subject: [PATCH 4/4] ci: update actions/checkout to v6 Note: only update for aur-publish job --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e228aef..53a40cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -556,7 +556,7 @@ jobs: - pkgname: ibus-vnkey-bin artifact_prefix: vnkey-ibus steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Extract pkgver and SHA256 from release id: meta