Repository navigation
Fix false "Corrupted" images in the first-boot test - #737
Merged
Merged
Conversation
The image integrity test read image IDs from column 3 of `docker images`. Newer Docker versions changed the default table (IMAGE, ID, DISK USAGE, ...), so column 3 is now the image size: the test ran `docker save 171MB` and reported every image as corrupted on fresh installs, then still said "Test completed successfully". - List and check images with explicit `--format` strings, by repo:tag. - Fix the missing `echo -e` that printed raw escape codes. - Only say "completed successfully" when no image failed. - Log the test to logs/dappnode_test_install.log; it runs on its own console and left no record. - Make the ISO E2E fail when that log reports corrupted images or no success, and fix a `! grep` check that could never fail under set -e. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3alpha
approved these changes
Oct 9, 2026
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
On fresh v0.3.26 installs, the first-boot test reports every DAppNode image as corrupted, then says "Test completed successfully":
Seen on a real install (Debian, v0.3.26). The images are fine.
dappnode_test_install.shtook image IDs from column 3 ofdocker images, but newer Docker versions changed the default table toIMAGE ID DISK USAGE CONTENT SIZE EXTRA. Column 3 is now the size, so the test randocker save 171MB. The raw\e[31mis a separate bug: thatecholacked-e.Fix
--formatstrings ({{.Repository}}:{{.Tag}},{{.ID}}), so the output is the same on every Docker version, and fix theecho..firstbootand waits for Enter./usr/src/dappnode/logs/dappnode_test_install.log. The test runs on its own console and used to leave no record, which also helps support.! grepcheck in the harness, which can never fail underset -e.Verification
dockerwith the new table: healthy images pass, a failingdocker saveflags exactly that image, and the oldawk '{print $3}'reproduces171MB/2.08GB.🤖 Generated with Claude Code