Skip to content

ci(packaging): automate AUR publish on Release #507

Description

@Reei-dp

Summary

Automate publishing the querya-desktop AUR package from CI after each GitHub Release.

Today the PKGBUILD template lives in packaging/linux/aur/ and release notes call it community-maintained; bumping/pushing to AUR is manual (README).

Current state

  • Template: packaging/linux/aur/PKGBUILD — installs Querya-Desktop-${pkgver}-linux.zip from GitHub Releases under /opt/querya-desktop
  • Release CI builds the zip and publishes .deb / .rpm / Flatpak / AppImage — no AUR push
  • version-bump.yml bumps only pubspec.yaml (does not sync PKGBUILD pkgver)

Target

  1. .github/workflows/aur-publish.yml — manual workflow_dispatch with version input (hotfix / re-publish when release zip already exists)
  2. publish-aur job in .github/workflows/release.yml — runs after GitHub Release is created; skips gracefully if AUR_SSH_PRIVATE_KEY is unset
  3. version-bump.yml — sync packaging/linux/aur/PKGBUILD pkgver + reset pkgrel=1 + sha256sums=('SKIP' …) on merge to main
  4. Docs — update packaging/linux/aur/README.md, docs/packaging.md, release notes snippet

Workflow details

Item Value
AUR repo querya-desktopssh://aur@aur.archlinux.org/querya-desktop.git
Release artifact Querya-Desktop-{version}-linux.zip
Template dir packaging/linux/aur/ (PKGBUILD, querya_desktop.desktop, querya_desktop.png)
Publish script scripts/linux/aur_publish.sh
Tag URL Tries release tag, version, and v{version} for asset download
.SRCINFO Generated in CI via Docker archlinux:latest + makepkg --printsrcinfo

One-time setup (repo admin)

Add GitHub repository secret AUR_SSH_PRIVATE_KEY (SSH private key registered on your AUR account). First CI push creates the AUR repo automatically — no setup-repo command needed.

Acceptance criteria

  • After a Release with secret configured, AUR repo querya-desktop is updated with matching pkgver, real sha256sums, and valid .SRCINFO
  • Manual Publish AUR workflow can re-push a given version without re-running the full Release
  • CI skips AUR steps cleanly when secret is missing (no failed Release job)
  • Docs describe automatic vs manual path and one-time setup

Related

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions