Commit Graph
3 Commits
Author SHA1 Message Date
jason d069ff42fe 📝 Log Dockerfile OCI-label compliance finding to TODO.AI.md 📝
Found while regenerating .env.scripts in Step 1: gen-dockerfile --update
left the Dockerfile with zero diff, but it still carries three labels
AI.md's OCI label standard explicitly says must not exist. Not fixed
here to keep this pass scoped to the template-update runbook and the
build/test verification the user asked for; logging so it isn't lost.

- TODO.AI.md: add a new item for org.opencontainers.image.base.name,
  org.opencontainers.image.schema-version, and the duplicate/wrong-value
  org.opencontainers.image.authors label in Dockerfile
2026-08-03 11:37:21 -04:00
jason ca23d7e592 📝 Reconcile TODO.AI.md line numbers after template regen 📝
- TODO.AI.md: updated stale line numbers to match the just-regenerated entrypoint.sh functions file; clarified these are upstream-template findings, not locally fixable
2026-08-03 11:06:15 -04:00
jason b016f1db1d 🐛 Fix container restart loop from set -e propagation 🐛
opengist / release-opengist (push) Failing after 53s
Build and Push / build (push) Failing after 1s
Root cause: many functions in functions/entrypoint.sh ended with a bare,
unguarded `[ "$DEBUGGER" = "on" ] && echo/printf/__service_banner ...`
statement as their last executed line. With DEBUGGER unset (the default
runtime case), the `[ ]` test is false, so the function's implicit
return value is nonzero. Several of these functions (most critically
__symlink, called bare from __setup_mta) are invoked as unguarded
statements from other functions, and the whole entrypoint runs under
`set -eo pipefail`, so the nonzero return aborted the entire script
chain immediately after startup — explaining why the container only
printed the first log line and exited 1, and why it only worked with
DEBUGGER=on (which makes the echo run and return 0, masking the bug).

Verified via two clean docker buildx build + run cycles: before the
fix, `docker inspect` showed the container crash-looping (exit 1,
~3.9s uptime); after, `RestartCount=0 Status=running Health=healthy`
with opengist fully started, DEBUGGER unset.

- rootfs/usr/local/etc/docker/functions/entrypoint.sh: append `|| true`
  to all 26 bare `[ "$DEBUGGER" = "on" ] && ...` statements so their
  result never propagates as the enclosing function's return value
- TODO.AI.md: log 20 pre-existing script-lint findings on the same
  file (missing `--` on grep, missing `local` on a few function-local
  vars, missing VERSION= line) found incidentally while diagnosing
  this bug; deferred as unrelated cleanup, not part of this fix
2026-08-03 09:41:46 -04:00