name: Build and publish package on: push: tags: ['v*'] jobs: package: runs-on: [self-hosted, hestia] container: image: archlinux:latest options: --privileged steps: - uses: actions/checkout@v4 - name: Set version run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV - name: Install build dependencies run: pacman -Syu --noconfirm base-devel git rust cargo gtk4 gtk4-layer-shell - name: Create builder user run: useradd -m builder - name: Prepare source run: | git archive --format=tar.gz \ --prefix=breadpad-${VERSION}/ \ HEAD > packaging/arch/breadpad-${VERSION}.tar.gz SHA=$(sha256sum packaging/arch/breadpad-${VERSION}.tar.gz | awk '{print $1}') sed -i "s/^pkgver=.*/pkgver=${VERSION}/" packaging/arch/PKGBUILD sed -i "s/^sha256sums=.*/sha256sums=('${SHA}')/" packaging/arch/PKGBUILD cp -r . /home/builder/src chown -R builder:builder /home/builder/src - name: Build package run: su builder -c "cd /home/builder/src/packaging/arch && makepkg -sf --noconfirm" - name: Publish to Forgejo registry run: | PKG=$(find /home/builder/src/packaging/arch -name '*.pkg.tar.zst' | head -1) curl -fsS -X PUT \ -H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \ --upload-file "${PKG}" \ "https://git.breadway.dev/api/packages/breadway/arch/push?distrib=breadway"