Lint with portal's question_lint binary, not the hand-maintained yq/jq script
Lint and reload / lint-and-reload (push) Successful in 2s

lint.sh only ever checked shape (missing id/name, duplicate ids, bad
requirement types) - it never validated transition targets against the
real state machines. question_lint runs portal's actual validation
logic (content::validate_questions) with no portal build required in
this repo's CI, since portal's deploy job now publishes it to a stable
path on the same runner/host.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-08-11 21:16:54 +02:00
co-authored by Claude Sonnet 5
parent e8f266e8f7
commit bc18add801
2 changed files with 6 additions and 66 deletions
+6 -1
View File
@@ -10,8 +10,13 @@ jobs:
steps:
- uses: actions/checkout@v4
# Same bare-metal runner/host as portal's own deploy job, which
# publishes this binary to a stable path on every deploy - runs
# portal's real transition-table/shape validation directly, not a
# hand-maintained yq/jq subset of the same rules (lint.sh, now
# superseded and removed).
- name: Lint questions
run: bash lint.sh questions
run: /srv/app/uhhm-portal/current/question_lint --path questions
# Tells every running portal instance to re-fetch and atomically
# swap in the new content - see content::watch_for_reload in the