iso.yml: install only the tools the runner lacks
Some checks failed
Installer ISO / iso (push) Failing after 15s

runner-x86-linux has task, just, yq, cosign and mc from nixpkgs. The
earlier failures were dl.min.io answering 410 Gone for mc (MinIO no
longer publishes community binaries), not GitHub refusing just; drop the
GITHUB_TOKEN workaround that was based on that misreading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Philip Peterson 2026-10-30 04:03:55 -08:00
parent a4452530e0
commit 2326d0b106

View file

@ -38,20 +38,22 @@ jobs:
submodules: true submodules: true
- name: Install task, mc, just, yq and cosign - name: Install task, mc, just, yq and cosign
# Only what the runner doesn't already have: runner-x86-linux has
# all five from nixpkgs (petersweb-infra, hosts/runner-x86-linux).
# dl.min.io's mc answers 410 Gone, so a runner without mc needs one
# installed.
run: | run: |
mkdir -p "$HOME/.local/bin" bin="$HOME/.local/bin"
curl -fsSL https://taskfile.dev/install.sh | sh -s -- -d -b "$HOME/.local/bin" mkdir -p "$bin"
# --force: on a host-mode runner $HOME outlives the job, and have() { command -v "$1" >/dev/null; }
# just's installer won't overwrite the previous run's binary. have task || curl -fsSL https://taskfile.dev/install.sh | sh -s -- -d -b "$bin"
# env -u: the installer sends $GITHUB_TOKEN to GitHub, and here # --force: on a host-mode runner $HOME outlives the job.
# that's Forgejo's token, which GitHub rejects (401/410). have just || curl -fsSL https://just.systems/install.sh | bash -s -- --force --to "$bin"
curl -fsSL https://just.systems/install.sh | env -u GITHUB_TOKEN bash -s -- --force --to "$HOME/.local/bin" have yq || { curl -fsSL -o "$bin/yq" https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 && chmod +x "$bin/yq"; }
curl -fsSL -o "$HOME/.local/bin/yq" https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 have cosign || { curl -fsSL -o "$bin/cosign" https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64 && chmod +x "$bin/cosign"; }
curl -fsSL -o "$HOME/.local/bin/cosign" https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64 have mc || { curl -fsSL -o "$bin/mc" https://dl.min.io/client/mc/release/linux-amd64/mc && chmod +x "$bin/mc"; }
chmod +x "$HOME/.local/bin/yq" "$HOME/.local/bin/cosign" echo "$bin" >> "$GITHUB_PATH"
curl -fsSL -o "$HOME/.local/bin/mc" https://dl.min.io/client/mc/release/linux-amd64/mc for t in task just yq cosign mc; do printf '%s: ' "$t"; command -v "$t"; done
chmod +x "$HOME/.local/bin/mc"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Build installer ISO - name: Build installer ISO
run: task build-installer-iso CONTAINER_RUNTIME=podman run: task build-installer-iso CONTAINER_RUNTIME=podman