fix(images): move PR identity off the boot-menu entry#55
Merged
Conversation
13934a9 to
b3dc26f
Compare
b3dc26f to
1b43bc5
Compare
1b43bc5 to
d811893
Compare
A PR-preview boot-menu label ("NixOS <ver> - Coder Box Installer - PR
#N: <title>") overflowed the fixed-width, single-line GRUB/isolinux menu
entry and got clipped; widening the menu just made it span the whole
screen. So the menu entry and ISO file name now carry NO PR identity:
- Boot-menu entry is always "Coder Box <flavour> (<rev>)".
- ISO file name is constant per flavour/arch (e.g.
coder-box-installer-x86_64-linux.iso) — a PR preview matches a release
build, so links/downloads never change.
The full "PR #N: <title>" is surfaced everywhere EXCEPT the menu entry:
- On the EFI/GRUB boot screen as a footer label (boot-screen chrome, not
a selectable entry). The stock theme's menu box is an opaque pixmap that
GRUB paints over overlapping labels, so we shrink the (mostly empty)
menu box height and place the label in the freed area below it. Menu
WIDTH is unchanged (stock 800px), so the menu doesn't blow up. PR builds
only; non-PR builds use the stock theme verbatim.
- Recorded at /etc/coder-box-pr and printed by the installer console
banner (also covers BIOS/isolinux, which has no GRUB theme).
Removes the now-unused prMenuSuffix / prFileSuffix / slugify machinery;
CI globs *.iso for artifact upload so the constant name still matches.
Every make target drives the flake CLI, so enable the experimental interface here instead of requiring each developer to set it in their global nix.conf. Non-invasive by design: - --extra-experimental-features is additive (ORs with the user's nix.conf) rather than overwriting their feature list. - Appended to $(NIX) with += so an env-set NIX binary is preserved; a command-line `make NIX=...` still overrides outright. - Opt out per-invocation with NIX_EXTRA_EXPERIMENTAL_FEATURES=.
d811893 to
d02f0ac
Compare
The boot-screen footer now renders a single build-identity label on EVERY build, not just CI PR previews (the previous gating meant a local `make installer/iso` got the stock theme and showed nothing): with a PR: Coder Box - PR #55: <title> (d02f0ac@my-branch) without a PR: Coder Box - d02f0ac@my-branch - New coderBox.branch option, injected by the Makefile (GIT_BRANCH, preferring CODER_BOX_BRANCH so CI can pass github.head_ref past the detached-HEAD checkout). Branch "HEAD"/unknown is dropped from the stamp. - New coderBox.bootLabel assembles "<short-sha>@<branch>" (conventional form; keeps a -dirty suffix) plus the optional PR prefix. - base/iso.nix always builds the custom theme from bootLabel (shrunk menu box + footer), so the label is visible locally and testable without a PR env.
📀 ISO build artifacts
↻ Updated for |
Match the footer label's width to the menu box (left = 50%-400, width = 800) so it lines up with the rectangle instead of spanning the full screen, shrink the menu box a further ~1/3 (height 62% -> 46%), and move the label up to just below the box (top 78% -> 50%).
The short-sha now lives in the boot-screen footer label (coderBox.bootLabel), so the menu entry is just "… - Coder Box Installer" with no "(<rev>)" suffix. Removes the now-unused boxRevShort.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PR-preview ISOs built a boot-menu label like
NixOS <ver> - Coder Box Installer - PR #N: <title>. That entry is a single, non-wrapping line in a fixed-width GRUB/isolinux menu, so a long PR title overflowed and got clipped. Widening the menu to fit it made the menu span the whole screen, which looks broken.Change
The menu entry and ISO file name carry no PR identity — clean and constant:
Coder Box <flavour> (<rev>).coder-box-installer-x86_64-linux.iso(a PR preview matches a release build; links/downloads never change).The full
PR #N: <title>is surfaced everywhere except the menu entry:/etc/coder-box-pr+ the installer console banner (Image: PR #N: <title>), which also covers BIOS/isolinux (no GRUB theme there).Removes the now-unused
prMenuSuffix/prFileSuffix/slugifymachinery. CI globs*.isofor upload, so the constant file name still matches. Also enablesnix-command+flakesby default in the Makefile (additive; opt out withNIX_EXTRA_EXPERIMENTAL_FEATURES=).Validation
make fmt/make lint/make check— all clean / passed.theme.txtkeepswidth = 800, shrinksheightto62%-100-6%, and appends the footer+ labelwith the full title (quote/$sanitisation tested with a hostile title).nixos-grub2-themestore path (untouched).