| Age | Commit message (Collapse) | Author | Files | Lines |
|
The -current full build failed on 2026-09-23 after all ten steps had
passed, at layer export, losing a race on the containerd snapshotter's
content lock ("failed to open writer: ref ... locked for 74ms ...
unavailable"). Disk was not the issue this time (73G free). The build
cache pre-prune that works around this only runs under --force, so the
normal gated nightly build had no guard.
Add docker_build() to lib.sh: docker build, retried once. By the time
the export fails every step is cached, so the retry is little more than
a re-export. Used by build-full-image.sh and build-sbo-testbuild.sh,
the two scripts that export ~20-33G images; bootstrap.sh's image is
small and has never hit this.
Self-check covers success, one failure, and two failures with a stub.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A dead dockerd is a global failure, not a per-variant one, but every stage
treated it as the latter: the digest probes read an unreachable daemon as
"no digest, rebuilding to be safe", the build then failed, and the variant
loop logged "WARNING: variant X failed; continuing" and moved on. Cron kept
exiting nonzero into a log nobody read, so a daemon that died in August went
unnoticed for 25 days while no image was ever rebuilt.
Add require_docker() to lib.sh, following the existing require_mount()
precedent, and call it before the variant loop in all three stages. One loud
error, exit 1, instead of a nightly pile of warnings.
In build-full-image.sh the check goes before the --force cache prune, since
that prune also talks to the daemon.
Self-check stubs `docker` so it never contacts a real daemon.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AD4jP4wFMpBgEvd9ZP9Xhu
|
|
Extracted from the .extras/ dir of the sbo-slackbuilds package repo, where it
grew from a throwaway helper into a standalone tool. Git history starts fresh;
the original 41-commit development log is preserved in HISTORY.md.
Contents: the test-build CLI (resolves a local SlackBuild's deps from a
configured SBo tree and builds it in a throwaway container, lints, caches deps),
the image-builder chain that produces the images it consumes, their pure-logic
self-checks, design specs/plans, an install.sh for ~/bin, and docs.
Licensed GPLv2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|