30's fix-up commit now also adds clang and cmake, without which voxtype
no longer builds from source (later commits install them), and stops
ca658dc's bitwarden.sh failing on its unset LINE under the set -u that
install-kickstart-nvim.sh leaves on.
The fingerprint recorded only the line numbers of .bashrc's coredesktop
lines, so 0c0ddf5's showed a line moved without saying what was added.
Record the whole file, sorted.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ca658dc installs extensions with plain gext install, which waits for a
GNOME Shell dialog no one clicks; add --filesystem, as HEAD does. ca658dc
and d8d93a4 run flatpak install as the user, which polkit refuses over
SSH; allow it for the install only, with a rule removed afterwards.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
clang-libs and llvm-lit were split off clang and llvm after the archive
date, so the old clang and llvm conflicted with their files and the
downgrade failed, skipping the scenario. Remove packages from Arch's repos
that the archive doesn't have yet before downgrading.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every baseline installs herdr from source, which pins zig 0.16, and Arch
now has 0.17, so their installs fail. Install them with herdr-bin (which
provides herdr, and is what HEAD installs) in a commit on top, then put
the clone back at the baseline itself, since update pulls --ff-only.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
install.sh at every baseline in smoketest/baselines clones from
https://gitea.federated.computer/david/coredesktop.git, which wasn't in
COREDESKTOP_URLS. So 30-upgrade-from-baseline installed today's real
upstream (via Gitea's redirect) instead of the baseline, and failed when
the old install.sh asked for files that have since gone.
Add a test that every URL install.sh has ever cloned from is in the list.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Since a65f07c ran each hook in a subshell, a hook that does its work as
it's sourced (12-migrations, 15-services, 20-aur, 30-flatpak and others)
had its failure lost: the run_update check after source left the
subshell's status at 0, so update said "Done." and exited 0. The smoketest's
40-failing-migration caught it. update now exits the subshell with the
sourced hook's status.
Also, the smoketest scenarios that check whether a migration ran look for
"Running migration " so install.sh's "Running migrations..." heading
doesn't match (11-refresh failed on it).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
run_in_vm prints how long it has run and the log's latest line, so an
hour-long install.sh shows progress without tail -f.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
upstream_set pushes the commit under test from the working copy, so
coredesktop-dev's pre-push hook ran make check on every push to the VM.
Inside the smoketest those checks saw VM_GIT_URL and friends, the
smoketest tests pushed to the real VM and failed, and the hook stopped
the push, failing the installed image's build. The push now uses
--no-verify, and the tests clear the smoketest's variables.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
So a long command (install.sh takes an hour or more) can be followed with
tail -f; run_in_vm prints the log's path when it starts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>