From 3622751a17177f7eb55b679261e2965f6dba3b65 Mon Sep 17 00:00:00 2001 From: Oleksandr Akhtyrskiy Date: Sun, 5 Jul 2026 20:55:46 -0600 Subject: [PATCH] Restore zip/unzip in ci-tools image The 5.4 rebuild (#189) moved luarocks and gcc to the throwaway builder stage. zip and unzip had only ever been present as transitive apt deps of luarocks in the final image, so they silently dropped out. Both are part of the tool contract downstream bats suites depend on to assemble and inspect archive-format fixtures (ODT/DOCX/EPUB); their absence surfaces as `zip: command not found` (status 127). Request them explicitly so a future dependency shuffle can't drop them again, assert them in verify.sh, and list them in the README tool inventory. --- images/ci-tools/Dockerfile | 2 ++ images/ci-tools/README.md | 2 ++ scripts/ci-tools/verify.sh | 2 ++ 3 files changed, 6 insertions(+) diff --git a/images/ci-tools/Dockerfile b/images/ci-tools/Dockerfile index 40bc025..1c85116 100644 --- a/images/ci-tools/Dockerfile +++ b/images/ci-tools/Dockerfile @@ -63,6 +63,8 @@ RUN apt-get update \ git \ gnupg \ xmlstarlet \ + zip \ + unzip \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/images/ci-tools/README.md b/images/ci-tools/README.md index 3429333..76dc4d5 100644 --- a/images/ci-tools/README.md +++ b/images/ci-tools/README.md @@ -26,9 +26,11 @@ CI pipelines. Published to GHCR at `ghcr.io/knight-owl-dev/ci-tools`. | [shellcheck](https://github.com/koalaman/shellcheck) | Shell script linting | | [shfmt](https://github.com/mvdan/sh) | Shell script formatting | | [stylelint](https://github.com/stylelint/stylelint) | CSS linting | +| [unzip](https://infozip.sourceforge.net) | Archive extraction for archive-format test fixtures (ODT/DOCX/EPUB) | | validate-action-pins | GitHub Actions SHA pin verification | | [xmlstarlet](https://xmlstar.sourceforge.net) | XML querying and editing | | [yq](https://github.com/mikefarah/yq) | YAML/JSON/XML processing | +| [zip](https://infozip.sourceforge.net) | Archive assembly for archive-format test fixtures (ODT/DOCX/EPUB) | Pinned versions and checksums are tracked in [`versions.lock`](versions.lock). diff --git a/scripts/ci-tools/verify.sh b/scripts/ci-tools/verify.sh index bf5198f..3fd2efa 100755 --- a/scripts/ci-tools/verify.sh +++ b/scripts/ci-tools/verify.sh @@ -58,6 +58,8 @@ check "gpg" "" gpg --version check "make" "" make --version check "parallel" "" parallel --version check "xmlstarlet" "" xmlstarlet --version +check "zip" "" zip -v +check "unzip" "" unzip -v check "locale-en-us" "" bash -c "locale -a | grep -q en_US.utf8" check "lc-all-default" "C" printenv LC_ALL verify_exit