Conversation
Open
4 tasks done
SCOPE_ARGS="--area '$X'" (or --spec) baked literal single-quote
characters into the string, then expanded it unquoted at the call
site. Bash word-splits an unquoted expansion but never re-parses
embedded quote characters as shell syntax, so run-suite.mjs received
an --area/--spec value with stray quotes glued onto it, matched
nothing, and silently ran 0 tests — reported as a harness failure
(exit 2), not a red suite.
Found on everest-forms PR #1669: a commit that only added a new spec
file put the workflow on the `--spec` branch, which exposed the bug.
Switches SCOPE_ARGS to a bash array and expands it as "${SCOPE_ARGS[@]}",
which is immune to this class of bug regardless of what the area/spec
value contains.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
lihsaa591
force-pushed
the
fix/scope-args-quoting-bug
branch
from
September 30, 2026 04:35
fd10a99 to
7f1afcb
Compare
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.
Background
Found on everest-forms PR themegrill/everest-forms#1669: a
@claudegrill suiterun failed withexit 2(harness failure),ran_nothing: true,reason: "the runner executed 0 tests".Root cause
In
.github/workflows/suite.yml's "Run the suite (fresh tier)" step:The single quotes are baked into the string as literal characters. When
$SCOPE_ARGSis later expanded unquoted, bash word-splits it on whitespace but does not re-parse the embedded'characters as shell quoting syntax — that only happens withevalor when the shell itself writes the quotes around an expansion. Sorun-suite.mjsreceives a--specvalue with literal quote characters glued onto the path, e.g.'tests/e2e/specs/.../foo.spec.ts'as one malformed token (or split further depending on the value), matches no file, and Playwright runs 0 tests.This hits any PR whose latest commit only adds/changes spec files, since that's exactly the
scope: specs/--specbranch.Fix
Switch
SCOPE_ARGSto a bash array and expand it as"${SCOPE_ARGS[@]}", which is immune to this class of bug regardless of what the area/spec value contains (spaces, quotes, etc.).Verification
bash -non the extracted script block: clean.--specset totests/e2e/specs/submission/field-value-smart-tag-not-reresolved.spec.ts): produces exactly[--spec] [tests/e2e/specs/submission/field-value-smart-tag-not-reresolved.spec.ts]with no stray quote characters.