33 lines
2.1 KiB
Markdown
33 lines
2.1 KiB
Markdown
---
|
|||
|
|
created: 2026-07-31T19:00:00.000Z
|
||
|
|
title: Build the installer ISO for v1.7.119-alpha
|
||
|
|
area: tooling
|
||
|
|
severity: minor
|
||
|
|
files:
|
||
|
|
- scripts/build-iso-release.sh
|
||
|
|
---
|
||
|
|
|
||
|
|
## Problem
|
||
|
|
|
||
|
|
v1.7.119-alpha is released and its OTA assets are published and checksum-verified, but the **installer ISO was never built**. Three attempts were blocked by a dirty working tree — `build-iso-release.sh`'s preflight hard-fails on any uncommitted change, and this checkout is shared by phase 1 executors and a separate BotFights session, so the tree is rarely clean for long. Not urgent: the ISO only matters for fresh installations; everyone updating is served by the working OTA.
|
||
|
|
|
||
|
|
## Solution
|
||
|
|
|
||
|
|
Run during a genuine pause in phase 1 execution (between waves), not racing against it:
|
||
|
|
|
||
|
|
```
|
||
|
|
TMPDIR=/home/archipelago/tmp/iso-scratch bash scripts/build-iso-release.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Keep the QEMU boot test (no `--no-qemu`).
|
||
|
|
|
||
|
|
**Preconditions:** `git status --porcelain` empty on `main`.
|
||
|
|
|
||
|
|
**Launch it as an explicit background job.** The build runs well past 10 minutes; twice it hit the tool's foreground timeout and once that killed an in-progress `cargo test` outright.
|
||
|
|
|
||
|
|
**Build from current `main` HEAD, not a detached tag checkout** — decision already made, don't re-derive. Preflight requires `git rev-parse --abbrev-ref HEAD == "main"` (a detached checkout returns `HEAD` and fails), and the archipelago version identity (Cargo.toml / package.json / CHANGELOG / manifest, all `1.7.119-alpha`) is untouched by commits made after the tag. BotFights is versioned and shipped independently via the signed catalog, so building at HEAD ships the security-fixed 1.2.11 rather than reverting to the vulnerable 1.2.9 current at tag time.
|
||
|
|
|
||
|
|
**Gates already seen passing** (mostly cached, expect them to pass fast): git-diff-check, cargo-fmt, catalog-drift, whats-new-sync, ui-type-check, ui-unit-tests (788), cargo-check. **Not yet reached:** cargo-test-weekly (~1500s), verify-artifacts, build-iso, iso-smoke, qemu-boot.
|
||
|
|
|
||
|
|
`TMPDIR` matters while `/tmp` (12G tmpfs) is tight — honored natively by mktemp-based scripts and by `test-iso-qemu.sh` since commit `6c2b6668` fixed its hardcoded `/tmp` paths.
|