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>
27 lines
986 B
YAML
27 lines
986 B
YAML
name: Lint and reload
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
lint-and-reload:
|
|
runs-on: bare
|
|
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: /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
|
|
# portal repo. Fire and forget: no reply expected, no payload
|
|
# needed (the subject alone is the whole message).
|
|
- name: Tell portal to reload content
|
|
run: nats pub portal.content.reload '' --server "nats://infra:${{ secrets.NATS_TOKEN }}@127.0.0.1:4222"
|