#79 renamed renovate.json → renovate.json5 but left configurationFile: renovate.json in .gitea/workflows/renovate.yaml. Every scheduled run since then has died in about one second with:
Error: ENOENT: no such file or directory, stat '.../renovate.json'
Runs 315–322 (2026-10-22 → 10-29) all failed this way. RENOVATE_TOKEN exists, so this is the only blocker observed.
Change
renovate.yaml: configurationFile: renovate.json5.
ci/lint.sh: asserts that every non-comment configurationFile: in .gitea/workflows/ names a file that exists. yamllint cannot catch this. Tested both ways: rc 0 on this branch, rc 1 with the old name.
Gate (pinned toolbox, from worktree, committed head aacf361)
rc 3, MERGE GATE: UNDETERMINED. No stage failed. spec-immutability, decisions-log (56 entries), lint, l0, render-golden, l1 and approval-policy (offline N/A) passed. Not run: gitea-settings (CI-only) and L2/L3 conformance (tolerated).
Needs the operator
This touches .gitea/** and ci/**, both sensitive paths, so CI will block on approval-policy until an administrator posts /approve-override <reason>as a review of type Comment.
After merge
Run renovate via workflow_dispatch with dry_run: true and read the log. It is the first evidence Renovate works. It also answers the open enabledManagers: regex vs custom.regex question (#73/#77).
## Problem
#79 renamed `renovate.json` → `renovate.json5` but left `configurationFile: renovate.json` in `.gitea/workflows/renovate.yaml`. Every scheduled run since then has died in about one second with:
Error: ENOENT: no such file or directory, stat '.../renovate.json'
Runs 315–322 (2026-10-22 → 10-29) all failed this way. `RENOVATE_TOKEN` exists, so this is the only blocker observed.
## Change
- `renovate.yaml`: `configurationFile: renovate.json5`.
- `ci/lint.sh`: asserts that every non-comment `configurationFile:` in `.gitea/workflows/` names a file that exists. yamllint cannot catch this. Tested both ways: rc 0 on this branch, rc 1 with the old name.
## Gate (pinned toolbox, from worktree, committed head `aacf361`)
**rc 3, MERGE GATE: UNDETERMINED.** No stage failed. `spec-immutability`, `decisions-log` (56 entries), `lint`, `l0`, `render-golden`, `l1` and `approval-policy` (offline N/A) passed. Not run: `gitea-settings` (CI-only) and L2/L3 `conformance` (tolerated).
## Needs the operator
This touches `.gitea/**` and `ci/**`, both sensitive paths, so CI will block on `approval-policy` until an administrator posts `/approve-override <reason>` **as a review of type Comment**.
## After merge
Run `renovate` via workflow_dispatch with `dry_run: true` and read the log. It is the first evidence Renovate works. It also answers the open `enabledManagers: regex` vs `custom.regex` question (#73/#77).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
#79 renamed the config to renovate.json5 and left configurationFile pointing at the old
name. Runs 315-322 (2026-10-22..29) all failed in ~1s before Renovate started.
Also add a ci/lint.sh assertion that every workflow configurationFile: resolves to a real
path — valid YAML, so yamllint could not catch it, and the gate stayed green throughout.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
#79 renamed
renovate.json→renovate.json5but leftconfigurationFile: renovate.jsonin.gitea/workflows/renovate.yaml. Every scheduled run since then has died in about one second with:Runs 315–322 (2026-10-22 → 10-29) all failed this way.
RENOVATE_TOKENexists, so this is the only blocker observed.Change
renovate.yaml:configurationFile: renovate.json5.ci/lint.sh: asserts that every non-commentconfigurationFile:in.gitea/workflows/names a file that exists. yamllint cannot catch this. Tested both ways: rc 0 on this branch, rc 1 with the old name.Gate (pinned toolbox, from worktree, committed head
aacf361)rc 3, MERGE GATE: UNDETERMINED. No stage failed.
spec-immutability,decisions-log(56 entries),lint,l0,render-golden,l1andapproval-policy(offline N/A) passed. Not run:gitea-settings(CI-only) and L2/L3conformance(tolerated).Needs the operator
This touches
.gitea/**andci/**, both sensitive paths, so CI will block onapproval-policyuntil an administrator posts/approve-override <reason>as a review of type Comment.After merge
Run
renovatevia workflow_dispatch withdry_run: trueand read the log. It is the first evidence Renovate works. It also answers the openenabledManagers: regexvscustom.regexquestion (#73/#77).🤖 Generated with Claude Code
/approve-override