22 Commits

Author SHA1 Message Date
6dea33bc22 Revert "ci(build): persist cargo registry via CARGO_HOME on existing volume"
This reverts commit bed8aa7f8879a0269d28349b82b1a2c6e8d58b9c.
2026-04-24 11:41:43 +02:00
11e8e1355a ci(build): persist cargo registry via CARGO_HOME on existing volume
The compose mount `./runner-cargo-target:/cache/target` already
persists the target dir. Set CARGO_HOME to a subdir of that mount so
the downloaded-crates index + git cache survive too — otherwise every
build re-fetches every dep. No server-side compose change needed.
2026-04-24 11:41:43 +02:00
39b04d3829 ci(build): drop unverified OOM throttle, run cargo with -j2
The previous CARGO_BUILD_JOBS=1 + nice + ionice throttling rested on an
assumed OOM diagnosis for run 86 (2026-04-23) that was never confirmed
via dmesg/journalctl. Build times tripled for no verified reason.
Remove the throttle; if a real OOM is captured in the future, re-add
limits with actual evidence.
2026-04-24 11:41:43 +02:00
972c832ec6 ci(build): single-threaded low-priority makepkg to spare host
Parallel Rust builds have OOM-killed the Gitea host twice
(2026-04-20, 2026-04-23 run 86). Force CARGO_BUILD_JOBS=1,
MAKEFLAGS=-j1, and wrap makepkg with nice+ionice so the
act_runner can't drown the shared host.
2026-04-23 12:51:20 +02:00
c2ccdccff4 fix(ci): wipe all existing versions before upload to kill zombie DB entries
All checks were successful
Build and publish packages / build-and-publish (push) Successful in 18s
Gitea's Arch registry doesn't regenerate the repo DB on pkgver change —
old entries linger as zombies (e.g. moonarch-git r99 stuck in moonarch.db
even though only r105 exists as a package). List all versions of each
built package and DELETE them before the upload so the DB gets rebuilt
cleanly. Bump moonarch-git pkgrel to force a rebuild and exercise the fix.
2026-04-20 14:09:33 +02:00
8066091c43 debug(ci): always echo upload response body, not only on failure 2026-04-20 12:58:04 +02:00
41a22d6281 fix(ci): fail hard when registry upload returns non-2xx
curl -sf was silencing upload errors: r105 was 'Published' six times
in a row but never landed in the registry. Capture the HTTP status
and abort on non-2xx so the run goes red and the response body shows
up in the log.
2026-04-20 12:47:26 +02:00
13567819ca fix(ci): source PKGBUILD to read makedepends reliably 2026-04-20 12:43:44 +02:00
71a94ac74e fix(ci): install only makedepends, skip full depends via -d
moonarch-git's runtime depends include AUR-only packages (stasis,
auto-cpufreq, ttf-ubuntusans-nerd) that plain pacman cannot resolve,
so `makepkg -s` fails with "Could not resolve all dependencies" —
even though those runtime deps aren't needed to build the package.

Extract makedepends from PKGBUILD, install them targeted (cargo/go
for Rust and Go packages; empty for moonarch-git), then run makepkg
with -d so it skips the full dep check. Rust packages still get their
compiler, moonarch-git builds without needing the AUR world.
2026-04-20 12:38:40 +02:00
6c89ffd9cd fix(ci): upload every makepkg artifact, not just the first
PKGBUILDs with options=('debug') produce a main + -debug split pair.
The previous `ls -t | head -1` only uploaded one, and which one won
was mtime-dependent. Loop over all *.pkg.tar.zst and parse pkgname
per file (so -debug gets its own registry entry).
2026-04-20 11:34:59 +02:00
30f8c4100f docs(ci): harden pacman -Sy comment against future -Syu regressions
Explicit warning in the workflow so nobody reintroduces the -Syu that
took the Gitea host down on 2026-04-20.
2026-04-20 11:26:01 +02:00
8d1dacd6fa fix(ci): use pacman -Sy instead of -Syu to avoid host I/O overload
Previous -Syu triggered a full system upgrade inside the runner
container, which together with the concurrent Rust build saturated
the shared host and took Gitea down. -Sy just refreshes the package
DB, which is all makepkg -s actually needs to resolve current deps.
2026-04-20 10:04:34 +02:00
aab4b75352 fix(ci): pacman -Syu before build to refresh stale package DB
Runner container has a cached pacman DB that lists package versions
already rotated off the mirrors, causing 404s when makepkg -s tries
to pull makedepends (gtk4, mesa, llvm-libs). Sync the DB first.
2026-04-20 09:43:45 +02:00
49c7031315 fix(ci): drop -d from makepkg so makedepends get installed
makepkg -sfd skipped dependency checks, preventing `-s` from pulling
in rust/cargo (moonlock/moongreet/moonset) and go (sshfsc). Builds
failed with `cargo: command not found`. Remove `-d`; `-s` now installs
makedepends via pacman before the build.
2026-04-20 09:39:11 +02:00
1a84342f13 Remove debug logging from build workflow, use -sf for upload 2026-04-01 18:00:14 +02:00
c9b6aab652 Debug: log HTTP status codes for upload and delete 2026-04-01 17:55:33 +02:00
bad7680b4c Simplify build workflow for non-root runner
Runner now executes as builder user, so no su/chown/chmod needed.
makepkg runs directly without permission workarounds.
2026-04-01 17:49:15 +02:00
c948396a1e Fix makepkg BUILDDIR: use current dir instead of root-owned cache 2026-04-01 16:57:01 +02:00
318d15567b Fix build workflow for host mode runner
Clean up stale repo dir, add safe.directory for git as root,
and chown repo to builder before makepkg.
2026-04-01 16:54:56 +02:00
6cf9bcd467 Remove setup step from build workflow
Dependencies (git, curl, builder user) are now provided by the
custom act_runner image. Only su builder for makepkg remains.
2026-04-01 16:43:59 +02:00
96a2574c7e Fix CI: run makepkg in Arch container with non-root user
The act_runner now uses docker mode with archlinux:base-devel.
Install git/curl and create a builder user since makepkg refuses
to run as root.
2026-04-01 15:44:11 +02:00
793c338968 Add CI workflow to build and publish packages to Gitea Registry
Triggers on PKGBUILD changes (from pkgver-bot commits).
Builds the changed package with makepkg and uploads the
.pkg.tar.zst to the Gitea Arch Package Registry.
2026-04-01 15:26:58 +02:00