fix(ci): the BoJ trigger has never been a valid workflow - #65
Conversation
⚙ 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>
|
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. Code Review ✅ ApprovedRemoves the invalid secrets context check from the job-level workflow condition to fix expression evaluation failures. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
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 |
|
|
⚙ Auto: BoJ server build triggerhas failed every run it has ever had, producing zero jobs and no log each time.Cause
GitHub rejects this outright:
The
secretscontext is not available in a job-levelif:— only inenv:,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:
Removing the broken guard restores exactly the intended behaviour: a clean skip when the server is not configured.
A note on the alternative.
lithoglyphwas already cured differently — by narrowing the guard toif: ${{ vars.BOJ_SERVER_URL != '' }}. That is valid, and its runs now showskippedrather thanfailure, 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 ("setBOJ_SERVER_URLas 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