Skip to content

feat(claude-block): full unfiltered bin/qa is the proof - single step… #120

feat(claude-block): full unfiltered bin/qa is the proof - single step…

feat(claude-block): full unfiltered bin/qa is the proof - single step… #120

Workflow file for this run

name: CI
on:
push:
branches: [php8.4]
pull_request:
branches: [php8.4]
jobs:
shellcheck:
name: ShellCheck (severity=warning)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run ShellCheck at warning severity
# Fail the build on any warning-or-above finding in the pipeline's own
# Bash sources. Covers the entry point, CI wrapper, tool fragments under
# includes/, and the install/support scripts. The repo was swept clean
# at -S warning (2026-07-15) — every SC2154/SC2034/SC1090 false positive
# from the sourced-fragment architecture carries a targeted
# `# shellcheck disable=SCxxxx` directive with justification, and every
# genuine defect (SC2155 masked exit codes, SC2145 mixed array/string,
# SC2206/SC2207/SC2010 unsafe splitting, SC2318 stale local) was fixed.
# Raised from -S error now that the bar is met — do not lower this back
# to -S error without re-auditing.
run: |
shellcheck --version
mapfile -t shellFiles < <(find includes scripts qaConfig -type f \( -name '*.bash' -o -name '*.sh' \) | sort)
shellcheck -S warning \
bin/qa \
bin/composer-require-checker bin/infection bin/php-cs-fixer bin/phpstan \
bin/lib-redirect-stub.inc.bash \
ci.bash \
git-hooks/pre-commit-check-vendor-uncommitted \
"${shellFiles[@]}"
qa:
name: QA Pipeline
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: composer:v2
coverage: xdebug
extensions: json, tokenizer, mbstring
- name: Install dependencies
run: composer install --no-interaction --prefer-dist
- name: Run QA Pipeline
run: bash ci.bash