AUR package automation for slopsmith-desktop-bin
Find a file
2026-05-30 08:05:58 +02:00
.forgejo/workflows Run hourly AUR sync after version check 2026-05-21 23:54:12 +02:00
.githooks Add pre-commit hook guarding pkgrel bumps 2026-05-30 07:54:21 +02:00
.gitignore Initial import: slopsmith-desktop-bin 0.2.7-1 2026-05-15 10:20:02 +02:00
.SRCINFO Bump pkgrel to 2 2026-05-30 07:47:21 +02:00
PKGBUILD Bump pkgrel to 2 2026-05-30 07:47:21 +02:00
README.md Document pre-commit hook setup in README 2026-05-30 08:05:58 +02:00

slopsmith-desktop-bin AUR automation

AUR packaging automation for the upstream slopsmith-desktop desktop release.

This repository is authoritative on Forgejo:

The old GitHub repository was migrated away from GitHub Actions. GitHub Actions are disabled there to avoid two CI systems racing to publish to AUR.

What this repo does

The package tracks the latest upstream GitHub release of byrongamatos/slopsmith-desktop and publishes slopsmith-desktop-bin to the AUR.

The important package files are:

  • PKGBUILD
  • .SRCINFO

The package currently downloads the upstream Debian package asset:

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

Forgejo Actions workflows

Workflows live in .forgejo/workflows/.

bump-and-deploy.yml

Scheduled workflow. It:

  1. Runs every hour.
  2. Checks the latest upstream release via the GitHub releases API.
  3. Compares the upstream tag with pkgver in PKGBUILD.
  4. If a newer version exists:
    • downloads the upstream .deb
    • updates 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 workflow. It:

  1. Validates PKGBUILD and .SRCINFO.
  2. Pushes the current package files to the AUR if they differ from the AUR repo.

This is useful when changing packaging metadata without a new upstream release.

Required Forgejo Actions configuration

Repository variables:

  • AUR_USERNAME
  • AUR_EMAIL

Repository secret:

  • AUR_SSH_PRIVATE_KEY

AUR_SSH_PRIVATE_KEY must be an SSH private key that can push to:

ssh://aur@aur.archlinux.org/slopsmith-desktop-bin.git

Do not commit or print the private key. Boring advice, but useful because computers are impressively literal.

Runner notes

The Forgejo runner uses a remote Docker/DinD daemon through DOCKER_HOST.

Because the Docker daemon is remote from the job container filesystem, bind mounts like this are not reliable:

docker run -v "$PWD:/pkg" ...

The workflows intentionally use this pattern instead:

docker create ...
docker cp PKGBUILD "$cid:/pkg/PKGBUILD"
docker exec ...

This avoids the common failure where the container cannot see PKGBUILD even though it exists in the checked-out job workspace.

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

Check the upstream version:

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

Check the AUR version:

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

Check the local package version:

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

Migration note

This repository was migrated from:

https://github.com/ariejan/aur-slopsmith-desktop-bin

to:

https://git.devroom.io/ariejan/aur-slopsmith-desktop-bin

Forgejo is now the authoritative repository and CI host.