Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ jobs:
permissions:
actions: read
contents: read
uses: projectbluefin/actions/.github/workflows/server-installer-test.yml@6b4accef9cf5b79e68100d6c8d50b397640ba208 # v1
uses: projectbluefin/actions/.github/workflows/server-installer-test.yml@4d220f3f5448dd5f4a8f64a0ec1fad042b1dc85e # v1
with:
artifact-name: server-installer-test

Expand Down
11 changes: 9 additions & 2 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -342,8 +342,15 @@ test-installer-artifact:
> "$REPART_DIR/30-var.conf"

echo "==> Refreshing target /var partition using systemd-repart..."
# systemd-repart operates on the target image directly without loopback/sudo when passed as the target operand.
unshare -r systemd-repart \
REPART=(unshare -r systemd-repart)
if ! unshare -r true 2>/dev/null; then
if ! sudo -n true 2>/dev/null; then
echo "ERROR: systemd-repart needs unprivileged user namespaces or passwordless sudo" >&2
exit 1
fi
REPART=(sudo systemd-repart)
fi
"${REPART[@]}" \
--factory-reset=yes \
--dry-run=no \
--definitions="$REPART_DIR" \
Expand Down
2 changes: 2 additions & 0 deletions docs/skills/ddi-installer-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ just test-installer-artifact # test already-exported artifacts in QEMU without r
just tags # show FSDK-derived version tags
```

`test-installer-artifact` uses an unprivileged user namespace for host-side `systemd-repart` when available. GitHub-hosted runners disable that facility, so the recipe falls back to passwordless `sudo` for `systemd-repart` only; QEMU remains rootless.

## Mandatory build path: ghost cluster

This project MUST always build on the ghost cluster using distributed BuildStream:
Expand Down
Loading