diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b048d00..778b33e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,17 +27,24 @@ jobs: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - # The pinned idris2-pack image ships no xz binary, so setup-zig's - # .tar.xz download fails with "tar (child): xz: Cannot exec". - - name: Install xz (needed to unpack the Zig tarball) + # The pinned idris2-pack image is minimal. Two things are missing: + # xz — setup-zig's .tar.xz download dies with "tar: xz: Cannot exec" + # jq — tests/check-examples.sh exits 2 with "jq is required", so the + # Trope IR conformance test never actually ran in CI + - name: Install container prerequisites (xz, jq) shell: bash run: | set -euo pipefail - if ! command -v xz >/dev/null 2>&1; then + missing=() + command -v xz >/dev/null 2>&1 || missing+=(xz-utils) + command -v jq >/dev/null 2>&1 || missing+=(jq) + if [ "${#missing[@]}" -gt 0 ]; then + echo "installing: ${missing[*]}" apt-get update -qq - apt-get install -y -qq --no-install-recommends xz-utils + apt-get install -y -qq --no-install-recommends "${missing[@]}" fi xz --version | head -1 + jq --version - name: Set up Zig uses: goto-bus-stop/setup-zig@abea47f85e598557f500fa1fd2ab7464fcb39406 # v2.2.1