fix: build on the rust runner, because fedora-44's pnpm cannot start
All checks were successful
deploy / build (push) Successful in 2m21s
deploy / deploy-web (push) Successful in 8s

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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
This commit is contained in:
2026-09-16 08:49:46 +03:00
parent 93641f27c4
commit 40927fa910

View File

@@ -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