Skip to content

fix(ci): a workflow TEMPLATE was living in .github/workflows/, so GitHub ran it - #222

Merged
noahgift merged 1 commit into
mainfrom
fix/example-workflow-not-executable
Aug 11, 2026
Merged

fix(ci): a workflow TEMPLATE was living in .github/workflows/, so GitHub ran it#222
noahgift merged 1 commit into
mainfrom
fix/example-workflow-not-executable

Conversation

@noahgift

Copy link
Copy Markdown
Contributor

example-bashrs.yml says "Copy this to your repo's .github/workflows/ directory" in its own header. It was already in .github/workflows/, so GitHub executed it on every push touching **/*.sh or **/Makefile.

It cannot pass here, by construction:

  • files: scripts/deploy.sh — doesn't exist in this repo. It's the placeholder path the reader is meant to replace.
  • args: '--tier production'bashrs gate --tier is a u8 (1=fast, 2=pre-commit, 3=nightly), so clap rejects it outright:
    error: invalid value 'production' for '--tier <TIER>': invalid digit found in string
    

Five jobs — Lint Shell Scripts, Lint (SARIF), Quality Score, Property Testing, Quality Gate — have been red on every matching push since v6.66.0 (2026-04-08). Four months.

I found it because it fired on an unrelated Makefile edit in #221.

Fix

Moved to docs/examples/github-action-workflow.yml, where it's documentation rather than a running job, and corrected the invalid tier so anyone copying it doesn't inherit the bug. The header now explains why it lives outside .github/workflows/, so it doesn't get helpfully moved back.

Why this is worth a PR rather than a shrug

Five permanently-red checks on unrelated PRs isn't a minor annoyance — it's what teaches a team that red is normal. It's the same mechanism that got the bashrs lint step deleted from a downstream repo in #209: a check that can't be satisfied doesn't get fixed, it gets ignored, and then it gets removed.

🤖 Generated with Claude Code

…Hub ran it

example-bashrs.yml says "Copy this to your repo's .github/workflows/ directory"
in its own header. It was already IN .github/workflows/, so GitHub executed it
on every push touching `**/*.sh` or `**/Makefile`.

It cannot pass here, by construction:
  - `files: scripts/deploy.sh` — does not exist in this repo (it is the
    placeholder path the reader is meant to replace)
  - `args: '--tier production'` — `bashrs gate --tier` is a u8 (1=fast,
    2=pre-commit, 3=nightly), so clap rejects it:
    "invalid value 'production' for '--tier <TIER>': invalid digit found in
    string"

Five jobs — Lint Shell Scripts, Lint (SARIF), Quality Score, Property Testing,
Quality Gate — have therefore been red on every matching push since v6.66.0
(2026-04-08), four months. They fired on an unrelated Makefile edit, which is
how this was found.

Moved to docs/examples/github-action-workflow.yml, where it is documentation
instead of a running job, and corrected so anyone copying it does not inherit
the invalid tier. The header now explains why it lives outside
.github/workflows/, so it does not get "helpfully" moved back.

Five permanently-red checks on unrelated PRs is not a minor annoyance: it is
what teaches a team that red is normal. Same reason the bashrs lint step was
deleted from a downstream repo in #209.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@noahgift
noahgift merged commit abd1d6e into main Aug 11, 2026
9 checks passed
@noahgift
noahgift deleted the fix/example-workflow-not-executable branch August 11, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant