No description
Find a file
2026-05-30 08:06:00 +02:00
.forgejo/workflows Fix YAML parse error in bump-and-deploy 2026-05-25 13:58:08 +02:00
.githooks Add pre-commit hook guarding pkgrel bumps 2026-05-30 07:54:23 +02:00
.gitignore Initial commit: testing channel AUR automation 2026-05-25 13:55:29 +02:00
.SRCINFO Bump pkgrel to 2 2026-05-30 07:48:16 +02:00
PKGBUILD Bump pkgrel to 2 2026-05-30 07:48:16 +02:00
README.md Document pre-commit hook setup in README 2026-05-30 08:06:00 +02:00

slopsmith-desktop-testing-bin AUR automation

AUR packaging automation for the testing channel of the upstream slopsmith-desktop desktop release. Tracks the most recent GitHub release including alpha/beta prereleases.

For the stable channel, see the sibling repo aur-slopsmith-desktop-bin.

This repository is authoritative on Forgejo:

What this repo does

Tracks the newest GitHub release of byrongamatos/slopsmith-desktopincluding prereleases — and publishes slopsmith-desktop-testing-bin to the AUR.

The package conflicts with the stable slopsmith-desktop-bin; users install only one channel at a time.

The important package files are:

  • PKGBUILD
  • .SRCINFO

The package downloads the upstream Debian asset:

https://github.com/byrongamatos/slopsmith-desktop/releases/download/v${_upstream_ver}/slopsmith-desktop_${_upstream_ver}_amd64.deb

Version mapping

AUR pkgver cannot contain -. Upstream prerelease tags do (e.g. v0.2.9-alpha.4), so the PKGBUILD keeps two variables:

  • _upstream_ver — raw upstream version used in the asset URL and filename (e.g. 0.2.9-alpha.4)
  • pkgver — AUR-safe version with - rewritten as . (e.g. 0.2.9.alpha.4)

For a stable release (no -) the two values are identical.

Forgejo Actions workflows

Workflows live in .forgejo/workflows/.

bump-and-deploy.yml

Scheduled workflow. It:

  1. Runs every hour (offset from the stable repo to avoid clashing).
  2. Queries GET /repos/.../releases?per_page=10 (newest-first, includes prereleases) and picks the first non-draft entry.
  3. Compares the upstream tag with _upstream_ver in PKGBUILD.
  4. If newer:
    • downloads the upstream .deb
    • updates _upstream_ver, pkgver, resets pkgrel to 1, and updates sha256sums
    • regenerates .SRCINFO
    • commits the version bump back to Forgejo
  5. Validates the package metadata.
  6. Pushes the current package files to the AUR if they differ from the AUR repo.

deploy.yml

Manual/current-package deploy. Same shape as the stable repo.

Required Forgejo Actions configuration

Repository variables:

  • AUR_USERNAME
  • AUR_EMAIL

Repository secret:

  • AUR_SSH_PRIVATE_KEY — must be able to push to ssh://aur@aur.archlinux.org/slopsmith-desktop-testing-bin.git

One-time setup

Before the workflows can deploy, the AUR package must exist:

git clone ssh://aur@aur.archlinux.org/slopsmith-desktop-testing-bin.git
# add PKGBUILD + .SRCINFO, commit, push

Local setup after clone

Enable the versioned git hooks (one-time, per clone):

git config core.hooksPath .githooks

The pre-commit hook blocks PKGBUILD edits that forget to bump pkgver or pkgrel. Bypass with --no-verify if you mean it.

Manual checks

Latest upstream tag (including prereleases):

curl -fsSL 'https://api.github.com/repos/byrongamatos/slopsmith-desktop/releases?per_page=1' \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)[0]["tag_name"])'

AUR version:

curl -fsSL 'https://aur.archlinux.org/rpc/v5/info?arg[]=slopsmith-desktop-testing-bin' \
  | python3 -c 'import json,sys; r=json.load(sys.stdin)["results"][0]; print(r["Version"])'

Local version:

grep -E '^_upstream_ver=|^pkgver=|^pkgrel=' PKGBUILD