fix(ci): cve-watch fails to load — empty template in a comment #12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/cve-watch-empty-template"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
cve-watch has been failing at load since #8 merged — every scheduled run errored before any step executed, with a cryptic
unexpected end of input ... expecting IDENTschema error.Root cause: Forgejo's expression preprocessor scans the entire
run:script — shell#comments included — for double-curly templates. The comment added in #8 explaining why we expand$cve_blockas a shell variable (rather than a runner template) literally contained an empty double-curly template. The parser rejects that, so the whole workflow failed schema validation and never ran.It slipped through because yamllint sees valid YAML and the dev box can't run Forgejo's
actparser.Two changes:
cve-watch.yml: reword the comment to describe the template without writing its literal syntax. Verified: 0 empty templates, 0${{in comments, all 8 remaining expressions valid, yamllint clean.validate.yml: newworkflow-expressionsjob that fails on (a) any empty double-curly template and (b) a template inside a shell comment, across all workflows — the exact class yamllint can't catch. Its own comments/messages avoid the literal syntax so it never self-trips (verified).Once merged, cve-watch loads and runs hourly again, and the CVE-listing feature from #8 will exercise on the next real upstream tag (it never has — the workflow's been broken at load since #8).