diff --git a/.github/workflows/ci-fresh-install.yml b/.github/workflows/ci-fresh-install.yml index d3b7b6c..69de54f 100644 --- a/.github/workflows/ci-fresh-install.yml +++ b/.github/workflows/ci-fresh-install.yml @@ -136,16 +136,22 @@ jobs: strategy: fail-fast: false matrix: + # findutils (find) is mandatory on every leg: quick_install.sh + # locates the extracted xlings dir with `find`, so a missing find + # fails the install with exit 127 *before* mcpp ever runs. Minimal + # images (opensuse/tumbleweed) ship without it; arch's base merely + # bundles it by luck. List it explicitly everywhere — don't rely on + # the base image. include: - distro: fedora-latest image: fedora:latest setup: dnf -y install curl bash tar gzip xz git findutils binutils file glibc-langpack-en - distro: arch image: archlinux:latest - setup: pacman -Sy --noconfirm curl bash tar gzip xz git binutils file + setup: pacman -Sy --noconfirm curl bash tar gzip xz git findutils binutils file - distro: tumbleweed image: opensuse/tumbleweed:latest - setup: zypper -n install curl bash tar gzip xz git binutils file + setup: zypper -n install curl bash tar gzip xz git findutils binutils file - distro: debian-testing image: debian:testing setup: apt-get update && apt-get -y install curl bash tar gzip xz-utils git ca-certificates binutils findutils file @@ -167,7 +173,13 @@ jobs: - name: Install xlings + mcpp run: | curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.38 - echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH" + # Deliberately NOT writing to $GITHUB_PATH here. On container + # images that declare no PATH in their config (opensuse/ + # tumbleweed), appending a single dir to GITHUB_PATH makes the + # runner exec later steps' `sh` with only that dir on PATH — + # `sh` (in /usr/bin) vanishes and the next step dies with + # `exec: "sh": ... not found` / exit 127. Each step below already + # exports PATH itself, so the append is redundant anyway. - name: Configure mcpp run: |