fix(v0.7): bluebuild type:copy + livemedia-creator clean resultdir
Some checks failed
Build veilor-os OCI (BlueBuild) / Build + push OCI (push) Failing after 2h55m5s
Build veilor-os Installer ISO / Build installer ISO (push) Failing after 41s

bluebuild (159): 'type: files' module fails 'chmod: Operation not
permitted' inside its own bind-mounted /tmp/modules/files/files.sh
under buildah + privileged-podman in our runner. Switch all four
`type: files` modules to `type: copy` (low-level COPY, no chmod, no
helper script needed).

installer-iso (160): livemedia-creator refused build/out which
checkout had already created (Forgejo runner reuses workspace dir
between runs). rm -rf build/out before invocation; mkdir not needed,
livemedia-creator creates the dir itself.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
claude-veilor-bot 2026-05-07 01:55:08 +01:00
parent e6af2685da
commit 705f99d8dc
2 changed files with 20 additions and 19 deletions

View file

@ -62,7 +62,9 @@ jobs:
- name: Build installer ISO with livemedia-creator - name: Build installer ISO with livemedia-creator
run: | run: |
set -euxo pipefail set -euxo pipefail
mkdir -p build/out /var/lmc # livemedia-creator refuses an existing non-empty resultdir.
rm -rf build/out
mkdir -p /var/lmc
ln -sfn "$GITHUB_WORKSPACE" /work ln -sfn "$GITHUB_WORKSPACE" /work
# livemedia-creator does NOT support --title (that's livecd-creator). # livemedia-creator does NOT support --title (that's livecd-creator).
# --volid replaces it for the ISO volume label. # --volid replaces it for the ISO volume label.

View file

@ -23,21 +23,21 @@ image-version: latest
modules: modules:
# ── 1. veilor branding overlay ────────────────────────────────── # ── 1. veilor branding overlay ──────────────────────────────────
# Stamps our overlay/* tree onto the OCI image. KDE color scheme, # `type: copy` is a low-level direct COPY (no chmod, no script).
# Plymouth theme, SDDM theme, fontconfig, os-release. # `type: files` was failing with `chmod: Operation not permitted` on
- type: files # the BlueBuild-shipped /tmp/modules/files/files.sh under buildah +
files: # podman privileged in our runner — the script tries to make itself
- source: ../overlay # executable inside its own bind-mounted layer.
- type: copy
source: ../overlay
destination: / destination: /
- type: files - type: copy
files: source: ../assets
- source: ../assets
destination: /usr/share/veilor-os/assets destination: /usr/share/veilor-os/assets
- type: files - type: copy
files: source: ../scripts
- source: ../scripts
destination: /usr/share/veilor-os/scripts destination: /usr/share/veilor-os/scripts
# ── 2. Branding overrides at build time ───────────────────────── # ── 2. Branding overrides at build time ─────────────────────────
@ -123,9 +123,8 @@ modules:
- htop - htop
# ── 7. ujust recipes for opt-in components ────────────────────── # ── 7. ujust recipes for opt-in components ──────────────────────
- type: files - type: copy
files: source: config/just
- source: config/just
destination: /usr/share/ublue-os/just destination: /usr/share/ublue-os/just
# ── 8. Service tuning: tailscale pre-disabled, yggdrasil idle ─── # ── 8. Service tuning: tailscale pre-disabled, yggdrasil idle ───