Skip to content

fix(ci): the BoJ trigger has never been a valid workflow - #65

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/boj-trigger-invalid-if
Aug 5, 2026
Merged

fix(ci): the BoJ trigger has never been a valid workflow#65
hyperpolymath merged 1 commit into
mainfrom
fix/boj-trigger-invalid-if

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

⚙ Auto: BoJ server build trigger has failed every run it has ever had, producing zero jobs and no log each time.

Cause

if: ${{ vars.BOJ_SERVER_URL != '' || secrets.BOJ_SERVER_URL != '' }}

GitHub rejects this outright:

Invalid workflow file: Unrecognized named-value: 'secrets'.
Located at position 30 within expression:
vars.BOJ_SERVER_URL != '' || secrets.BOJ_SERVER_URL != ''

The secrets context is not available in a job-level if: — only in env:, with:, run:, and reusable-workflow inputs. So the file has never been a valid workflow, and the run dies during expression evaluation before any job exists. That is why it leaves no log and no check run: there is nothing to log.

Why deleting the guard is the right fix

It was redundant as well as broken. The step already does the same job correctly:

env:
  BOJ_URL: ${{ secrets.BOJ_SERVER_URL || vars.BOJ_SERVER_URL }}   # legal here
run: |
  if [ -z "$BOJ_URL" ]; then
    echo "BOJ_SERVER_URL not configured - skipping"; exit 0
  fi

Removing the broken guard restores exactly the intended behaviour: a clean skip when the server is not configured.

A note on the alternative. lithoglyph was already cured differently — by narrowing the guard to if: ${{ vars.BOJ_SERVER_URL != '' }}. That is valid, and its runs now show skipped rather than failure, which is how this diagnosis was confirmed against a control. But it silently breaks secret-only configuration, which this workflow's own header explicitly supports ("set BOJ_SERVER_URL as a repository secret or variable"). Deleting the guard honours the documented contract; narrowing it does not.

Scope

51 repositories carry the identical broken line, so 51 default branches have been permanently red on a workflow that has never once executed. This PR is one of that set.

Because the workflow has never been valid, this change cannot regress anything — there is no working behaviour to lose.

Found during the 2026-08-05 estate CI/CD census.

🤖 Generated with Claude Code

⚙ Auto: BoJ server build trigger has failed every run, with zero jobs each
time. The reason is a job-level guard:

  if: ${{ vars.BOJ_SERVER_URL != '' || secrets.BOJ_SERVER_URL != '' }}

GitHub rejects this outright — "Unrecognized named-value: 'secrets'". The
secrets context is not available in a job-level if:, only in env:, with:,
run: and reusable-workflow inputs. So the file has never been a valid
workflow, and the run fails during expression evaluation before any job
exists. That is why it produces no log and no check run: there is nothing
to log.

The guard is also redundant. The step already sets

  env: BOJ_URL: ${{ secrets.BOJ_SERVER_URL || vars.BOJ_SERVER_URL }}

which IS a legal use of the secrets context, and then exits 0 early when
BOJ_URL is empty. Deleting the broken guard restores exactly the intended
behaviour: a clean skip when the server is not configured.

This is not a local defect. 51 repositories in the estate carry the same
line, which means 51 mains have been permanently red on a workflow that
has never once executed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved

Removes the invalid secrets context check from the job-level workflow condition to fix expression evaluation failures. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 5 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 5, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@hyperpolymath
hyperpolymath merged commit 900e2cd into main Aug 5, 2026
23 of 24 checks passed
@hyperpolymath
hyperpolymath deleted the fix/boj-trigger-invalid-if branch August 5, 2026 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant