Repository navigation
chore(ci): diagnostic — toolchain banner + store-check failure detail - #14
Merged
Merged
Conversation
Not for merge. Adds a one-time toolchain banner to the suite and makes two store-check assertions report the tool's own output, so the macOS runner's CI log says WHY 16 checks fail there instead of only which.
The macOS CI job failed 16 checks that pass on my machine AND on Ubuntu. The log named which tests failed but not why, so this carries a one-time toolchain banner and makes the store-check assertions report the tool's own output — a failing test should say why, and a suite that only passes on the author's machine should say what it is running against. Cause: 'declare -A LISTED=()' in exec-store-check. Associative arrays are bash 4.0+, and the scripts use '#!/usr/bin/env bash' — which on a stock macOS resolves to /bin/bash 3.2, the same 3.2.57 the GitHub macOS runner has. Under 3.2 that declaration is a hard error, and because the script runs under 'set -e' it died on that line: every I1/I2/I3 check after it never ran, so a perfectly clean store was reported as rejected, sixteen times over. Nothing in the output said so. It was the only bash 4.0+ construct in the codebase; a scan for mapfile, readarray, coproc, ;;& and others found nothing else. Replaced the associative array with a newline-delimited set — same job, works in 3.2 — with a whole-line membership test so INIT-0001-P01 never matches INIT-0001-P011, which a bare substring test would. Verified: 123/123 on /bin/bash 3.2.57 AND on bash 5.3. A new assertion guards the floor by scanning the shipped scripts for bash 4.0+ constructs. The suite's own compatibility is enforced by the macos-latest matrix job, which runs it on the stock 3.2 interpreter.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Temporary diagnostic, not for merge. The macOS runner fails 16 checks that pass on both my macOS and ubuntu; the log records only which failed, not why. This adds a one-time toolchain banner and makes two assertions carry the tool's own output, so the log carries the answer. Will be closed once the cause is found.