From 40927fa9103ef28cb7862471bb649d9c3a578bfe Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Wed, 16 Sep 2026 08:49:46 +0300 Subject: [PATCH] fix: build on the rust runner, because fedora-44's pnpm cannot start MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first run of this workflow failed before it did anything: pnpm: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory ##[error]Process completed with exit code 127. `@pnpm/exe` is a native binary and the fedora-4x runner images lack libatomic, so the pnpm they advertise (gitea-runners.md §4) cannot run at all. `runner-rust` is built on `runner-fedora-44` and adds gcc, musl-gcc and cmake, which pull libatomic in as a side effect — which is why blackbeard.observer has been building its SPA there without hitting this. A workaround, not the fix. The fix is libatomic in the fedora-4x Containerfiles, per gitea-runners.md §5 — bake build dependencies into the image, not the workflow — and this should move back when that lands: a 4 CPU / 4 GiB image to run `vite build` is more than this needs. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f --- .gitea/workflows/deploy.yaml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 947bc39..88ef21a 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -28,9 +28,23 @@ env: jobs: build: - # fedora-44 carries node + npm + pnpm (gitea-runners.md §4) and nothing else - # is needed — there is no Rust half here. - runs-on: fedora-44 + # `rust`, not `fedora-44`, despite there being no Rust here. + # + # The fedora-4x images list pnpm (gitea-runners.md §4) but their pnpm cannot + # run: `@pnpm/exe` is a native binary and the images lack libatomic, so the + # very first step dies with + # + # pnpm: error while loading shared libraries: libatomic.so.1 + # + # `runner-rust` is built on `runner-fedora-44` and adds gcc, musl-gcc and + # cmake, which pull libatomic in as a side effect — which is why + # blackbeard.observer builds its SPA there and this one now does too. + # + # This is a workaround for a runner-image bug, not the fix. The fix is + # libatomic in the fedora-4x Containerfiles (gitea-runners.md §5: bake build + # dependencies into the image, not the workflow). Move back when that lands; + # a 4 CPU / 4 GiB image to run `vite build` is more than this needs. + runs-on: rust steps: - uses: actions/checkout@v4