Skip to content

ci(bash-3.0): add --strict job to the Bash 3.0 matrix#692

Merged
Chemaclass merged 3 commits into
mainfrom
ci/bash-3.0-strict-job
Jun 3, 2026
Merged

ci(bash-3.0): add --strict job to the Bash 3.0 matrix#692
Chemaclass merged 3 commits into
mainfrom
ci/bash-3.0-strict-job

Conversation

@Chemaclass
Copy link
Copy Markdown
Member

🤔 Background

The --strict job ran only on Bash 5 (Ubuntu), so set -e regressions specific to Bash 3.x slipped through — as one just did (a bare non-zero call aborting a test body under set -euo pipefail, see #691).

💡 Changes

  • Add a --simple --parallel --strict variant to the Bash 3.0 compatibility matrix so strict-mode bugs regress loudly on the oldest supported Bash

The strict job ran only on Bash 5 (Ubuntu), so set -e regressions
specific to Bash 3.x went undetected — e.g. a bare non-zero call
aborting a test body under set -euo pipefail. Add a
'--simple --parallel --strict' variant to the Bash 3.0 matrix.
@Chemaclass Chemaclass added the enhancement New feature or request label Jun 3, 2026
@Chemaclass Chemaclass self-assigned this Jun 3, 2026
The acceptance suite drives ./bashunit as a subprocess and has many
pre-existing Bash 3.0 strict-mode failures; the full strict run is
covered on Bash 5 (Ubuntu - strict). On Bash 3.0, run the strict
variant over unit + functional, which guard the set -e correctness of
the framework code.
Bash 3.0 ships a broken 'set -o pipefail' that reports failing pipelines
as successful, which made the framework (snapshot matcher, etc.) and ~59
tests misbehave under --strict on Bash 3.0 only. Apply 'set -eu' always
and enable pipefail only on Bash >= 3.1 via _supports_reliable_pipefail.

Also guard the snapshot git-diff capture with '|| true'. With this, the
full suite passes --strict on Bash 3.0, so the Bash 3.0 matrix gains a
'--simple --parallel --strict tests/' job to catch strict regressions on
the oldest supported Bash.
@Chemaclass Chemaclass merged commit 679e804 into main Jun 3, 2026
31 checks passed
@Chemaclass Chemaclass deleted the ci/bash-3.0-strict-job branch June 3, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant