5 Commits
Author SHA1 Message Date
Asger Weirsøe d1ba6747ef Point the AUR upstream URL at the project page
url= now goes to the project's page on asger.weirsøe.dk, which links back
to the source here. The source tarball no longer derives from $url: it
comes from a separate _repo variable, so the build still downloads from
Gitea.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-04 07:29:49 +02:00
Asger Weirsøe 4338c8c034 Read the tarball host from a secret, not a variable
Run logs of a public repository are public, and Gitea prints variables in
them in clear text; only secrets are masked.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-01 17:46:00 +02:00
Asger Weirsøe c809ec8b77 Take the tarball host address from a repository variable
The upload steps named the web host by its internal address. It now comes
from the TARBALLZ_TARGET repository variable, so the public workflow carries
no infrastructure details.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-01 17:25:00 +02:00
Asger Weirsøe 90cb90349e Obfuscate the maintainer address, and allow PKGBUILD-only releases
The Maintainer line uses the usual AUR form (asger at weircon dot dk)
instead of a raw address that spam crawlers harvest. The AUR workflow
can now also be started by hand with a version and pkgrel, so a fix to
the PKGBUILD alone can be published without a new upstream release.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-09-30 21:23:34 +02:00
Asger Weirsøe 11b52f03a3 Mirror the released PKGBUILD to the tarballz index
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-09-30 17:10:01 +02:00
2 changed files with 42 additions and 8 deletions
+37 -5
View File
@@ -4,6 +4,17 @@ on:
push:
tags:
- 'v*'
# Re-publish without a new upstream release, e.g. a PKGBUILD-only fix:
# run it on master with the released version and the next pkgrel.
workflow_dispatch:
inputs:
version:
description: 'Released version to package, without the v (e.g. 1.2.3)'
required: true
pkgrel:
description: 'Package release number'
required: true
default: '1'
jobs:
aur:
@@ -19,9 +30,16 @@ jobs:
- name: Extract version from tag
id: version
run: |
TAG="${GITHUB_REF#refs/tags/v}"
echo "version=$TAG" >> "$GITHUB_OUTPUT"
echo "Publishing pi3-smart-workspace v$TAG to AUR"
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
VERSION="${{ inputs.version }}"
PKGREL="${{ inputs.pkgrel }}"
else
VERSION="${GITHUB_REF#refs/tags/v}"
PKGREL=1
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "pkgrel=$PKGREL" >> "$GITHUB_OUTPUT"
echo "Publishing $VERSION-$PKGREL to AUR"
- name: Configure SSH for AUR
run: |
@@ -59,7 +77,7 @@ jobs:
run: |
cp packaging/aur/PKGBUILD aur-pkg/PKGBUILD
sed -i "s/^pkgver=.*/pkgver=${{ steps.version.outputs.version }}/" aur-pkg/PKGBUILD
sed -i "s/^pkgrel=.*/pkgrel=1/" aur-pkg/PKGBUILD
sed -i "s/^pkgrel=.*/pkgrel=${{ steps.version.outputs.pkgrel }}/" aur-pkg/PKGBUILD
- name: Update checksums and regenerate .SRCINFO
run: |
@@ -78,5 +96,19 @@ jobs:
echo "No changes — nothing to push."
exit 0
fi
git commit -m "Update to ${{ steps.version.outputs.version }}"
git commit -m "Update to ${{ steps.version.outputs.version }}-${{ steps.version.outputs.pkgrel }}"
git push -u origin master
# Mirror the same PKGBUILD to https://asger.weirsøe.dk/tarballz/, the
# human-readable package index. The key is pinned on the web host to a
# forced command that can only write this one file, and a failure there
# must never turn an otherwise good AUR release red.
- name: Publish PKGBUILD to the tarballz index
continue-on-error: true
env:
TARBALLZ_SSH_KEY: ${{ secrets.TARBALLZ_SSH_KEY }}
run: |
printf '%s\n' "$TARBALLZ_SSH_KEY" > ~/.ssh/tarballz
chmod 600 ~/.ssh/tarballz
ssh -i ~/.ssh/tarballz -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new \
"${{ secrets.TARBALLZ_TARGET }}" < aur-pkg/PKGBUILD
+5 -3
View File
@@ -1,14 +1,16 @@
# Maintainer: Asger Geel Weirsoe <asger@weircon.dk>
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
# build recipe: https://gitea.weircon.dk/agw/pi3-smart-workspace
pkgname=pi3-smart-workspace
pkgver=0.0.0
pkgrel=1
pkgdesc="Switch i3 workspaces based on which output your mouse cursor is on"
arch=('any')
url="https://gitea.weircon.dk/agw/pi3-smart-workspace"
url="https://asger.weirsøe.dk/en/projects/pi3-smart-workspace"
_repo="https://gitea.weircon.dk/agw/pi3-smart-workspace"
license=('Apache-2.0')
depends=('python' 'i3-wm' 'python-i3ipc' 'python-pynput')
makedepends=('python-build' 'python-installer' 'python-hatchling' 'python-wheel')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
source=("$pkgname-$pkgver.tar.gz::$_repo/archive/v$pkgver.tar.gz")
sha256sums=('SKIP')
build() {