The files go to MinIO's public releases/<tag>/ and a Forgejo release
links to them; the container image is tagged with the version too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Our Aurora fork is its own repo now (quine-global-labs/aurora), built
and published by its workflow as
forge.quinefoundation.com/quine-global-labs/aurora:stable. Make that the
Containerfile's and Taskfile's default BASE_IMAGE, remove the build-base
task and the submodule, and say in the README how to build the fork
locally instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stage 0 now comes from quine-global-labs/aurora's workflow, at
forge.quinefoundation.com/quine-global-labs/aurora:stable, instead of
being rebuilt here from the submodule. The workflow logs in to the
registry, pulls it with the other bases, builds quine-linux on it, pushes
forge.quinefoundation.com/quine-global-labs/quine-linux (latest, date,
commit), then builds and uploads the ISO as before. On the generic
runner-x86-linux label.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Run 8 found it there: bootc-image-builder names the folder after its
export. Fix the Taskfile's generates and the docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The build succeeded, but the upload looked for
output/bootc-installer/install.iso, which doesn't exist; the builder
names the folder after its export. Find install.iso under output/ and
print where it was.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It takes the default from the installer image, and fedora-bootc:rawhide
declares none, so the ISO step failed with 'missing required info:
DefaultRootFs'. Pass btrfs, what the payload (Aurora) declares.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
quay.io's CDN cut off a multi-GB fedora-bootc layer mid-download, and
buildah's pull inside the build gives up after one reconnect. Pull the
images the installer image and the ISO need beforehand, retrying.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aurora's Justfile lists its past tags at ghcr.io/$GITHUB_REPOSITORY_OWNER
and passes $GITHUB_TOKEN to GitHub's API. Forgejo Actions sets those to
quine-global-labs and a Forgejo token: the tag lookup failed with 403
(ghcr.io/quine-global-labs/aurora doesn't exist), and GitHub would refuse
the token. Pin the owner to ublue-os; pass the token only on GitHub.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
runner-x86-linux has task, just, yq, cosign and mc from nixpkgs. The
earlier failures were dl.min.io answering 410 Gone for mc (MinIO no
longer publishes community binaries), not GitHub refusing just; drop the
GITHUB_TOKEN workaround that was based on that misreading.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The installer sends $GITHUB_TOKEN to GitHub; in a Forgejo job that's
Forgejo's own token, so GitHub refused the download (410).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On a host-mode runner $HOME persists between jobs, so the second run
failed with 'just already exists'.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Moved from the now-abandoned quine-os repo. Documents the Taskfile/
Dagger/Nix conventions already in use across swap-watchdog, quine-linux,
quintodrome, and hyper, plus a simple identifying header for Taskfiles
and Dagger files, and a researched note on how much of the cross-platform
desktop exception can actually be collapsed into Dagger via cross-
compilation.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds docs/imac19-2-speaker-fix.md: internal speakers produce no sound
despite correct HDA-level plumbing (unmuted volume, enabled pin, clean
device open). Traces the likely cause to uninitialized external TAS5764L
amp chips and a CS42L83 companion codec behind the CS8409, via sibling-
model prior art (rojoxstar/imac19-2-cs8409-linux, egorenar/snd-hda-codec-
cs8409#31, network-garden-lab's Fedora-specific iMac18,3 patch). No fix
is packaged yet given the amp-register damage risk and the bigger lift
of patching in-tree kernel source rather than an out-of-tree module.
Also adds docs/chromium-dbus-singleton-activation.md and a new "Software
fork directions" README section indexing forward-looking fork/patch
write-ups separately from the hardware-specific patches already shipped.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
stage-0/ is a submodule holding our fork of Aurora (upstream for now),
built with Aurora's own `just build` by the new `task build-base` into
localhost/aurora:stable. The Containerfile (stage 1) now builds FROM
${BASE_IMAGE}, which defaults to that image, instead of a pinned upstream
digest; the pin is now the submodule commit. build-image builds stage 0
first when needed, and BASE_IMAGE=ghcr.io/ublue-os/aurora:stable skips it
(the only option on macOS).
CI checks out submodules, fetches just, yq and cosign, and gets a longer
timeout for the Aurora build.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.forgejo/workflows/iso.yml runs `task build-installer-iso` on a runner
labelled iso-builder (x86_64, root podman) and uploads the ISO to MinIO
under installer/<commit>/ and installer/latest/.
For unattended runs, the Taskfile now only uses sudo when not already root
(CI runners often lack it), and OUTPUT_DIR is absolute so the bind mount
into bootc-image-builder doesn't depend on relative-path support.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bootc-image-builder's --target-arch cross build fails late on Apple Silicon
(its lsinitrd step runs the amd64 image, which needs qemu-user inside its
container). Check the host arch up front, before the long image builds, and
drop --target-arch since only native builds are supported now.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces installing a patched anaconda-webui RPM from the forge's package
registry: installer/anaconda-webui/vendor/ is upstream release 86 verbatim
(see its PROVENANCE.md), and installer/Containerfile builds it with
upstream's own `make install` in a native-platform stage, then copies the
result over stock Fedora anaconda-webui. The produced file set matches
Fedora's anaconda-webui-86-1.fc46 exactly. Edits to the installer UI now
happen in vendor/ and ship on the next `task build-installer-iso`, with no
RPM, registry or CI in between.
Also follows bootc-image-builder's rename of --bootc-installer-payload-ref
to --installer-payload-ref.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fork (quine/quine-anaconda-webui on forge.quinefoundation.com) now
builds its RPM with Forgejo Actions and publishes it to the quine org's
package registry. The installer image adds that repo with priority=10 so
it wins over Fedora's anaconda-webui, verifies Forgejo's signed repo
metadata (the RPMs themselves are unsigned), and the Taskfile passes the
repo metadata checksum as a build arg so a newly published RPM busts the
cached dnf layer.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds installer/Containerfile (a separate Anaconda-webui environment
container, distinct from the quine-linux OS image) plus
build-installer-image/build-installer-iso tasks that drive
bootc-image-builder's bootc-installer type against it. Lets a forked/
patched anaconda-webui (built via COPR) get baked into the install ISO
instead of stock Fedora's.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>