Skip to content

ci: automate AUR package publishing on release#100

Draft
t1gu1 wants to merge 1 commit into
mainfrom
ci/publish-aur
Draft

ci: automate AUR package publishing on release#100
t1gu1 wants to merge 1 commit into
mainfrom
ci/publish-aur

Conversation

@t1gu1

@t1gu1 t1gu1 commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Automate the publishing of the gitwand-bin package to the Arch User Repository (AUR) upon a new release. This simplifies distribution for Arch Linux users and ensures the getting-started guide is updated with the new installation method.

Changes

  • Add a workflow step to automate PKGBUILD generation and publishing to the AUR
  • Create a PKGBUILD template script to format the package metadata on release
  • Update the Linux section of the getting-started guide to highlight AUR availability

Here are the next steps to set up and trigger the publication:

1. AUR Account & SSH Key Setup

  1. Register an account on the AUR Website https://aur.archlinux.org/ if you haven't already.

  2. Generate an SSH key pair on your machine for the AUR integration:
    ssh-keygen -f ~/.ssh/aur_key -t ed25519 -C "your-email@example.com"

  3. Upload the public key ( aur_key.pub ) to your AUR profile page under SSH Public Key.

2. Configure GitHub Secrets

Add the following secrets to your GitHub repository under Settings > Secrets and variables > Actions > New repository secret:

• AUR_USERNAME : Your AUR account username.
• AUR_EMAIL : The email address associated with your AUR account.
• AUR_SSH_PRIVATE_KEY : The content of the private key ( aur_key ) you generated above.

3. Release & Publish

Once the secrets are set up, publishing to the AUR happens automatically when you tag a release:

  1. Bump the version and prepare the release:
    ./scripts/bump-version.sh X.Y.Z

  2. Commit, tag, and push the changes:
    git add -A
    git commit -m "chore: bump version to X.Y.Z"
    git tag vX.Y.Z
    git push origin main --tags

The publish-aur job in the Release workflow will pick up the tag, build the Debian package ( .deb ), generate the PKGBUILD with matching checksums, and push it directly to the AUR repository at ssh://aur@aur.archlinux.org/gitwand-bin.git .

──────

Summary of Work

• Researched the codebase for AUR integration.
• Identified the AUR deployment pipeline in release.yml and the template in PKGBUILD.template.
• Outlined the concrete setup steps (AUR account, SSH key, GitHub secrets, and tagging process) needed to publish the package.

Test plan

  • Verify that the PKGBUILD template successfully interpolates version and checksum values
  • Test the release workflow to confirm it correctly pushes to the target AUR repository
  • Verify the updated getting-started markdown page renders correctly

Add a release step to automatically generate and publish the PKGBUILD
to the Arch User Repository (AUR) for the gitwand-bin package.
Update Linux getting-started guide to highlight AUR availability.

🪄 Commit via GitWand
@t1gu1 t1gu1 requested a review from devlint July 2, 2026 06:10
@t1gu1 t1gu1 marked this pull request as draft July 2, 2026 06:12
@t1gu1

t1gu1 commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator Author

@devlint
Je me demande si c'est quelque chose qui pourrait être envisagé ?

Toutefois, je crois que ça nécessiterait de désactiver le in-app update pour la version gitwand-bin, puisque les mises à jour seront déjà gérées directement par le gestionnaire de paquets (pacman/AUR). (Pas encore fait)
La recommendation pour ce point serait de créer une variable d'environnement ou un flag au build afin de désactiver le bouton/la logique de build de l'in-app update si l'app est compilée pour l'AUR (ex: isAUR=true ou via une condition dans le code).

Une fois que le workflow sera en place et le paquet disponible, je pourrais m'occuper de tester le tout de mon côté, car je suis sur Arch.

P.S. Ce n'est pas pressant, on peut laisser ça de côté pour l'instant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant