Files
questions/.gitea/workflows/lint-and-reload.yml
T
Bendik Aagaard LynghaugandClaude Opus 5 ecca063b5c
Deploy instance / deploy (push) Successful in 1s
Lint and reload / lint (push) Successful in 3s
Lint and reload / reload (push) Successful in 0s
Take portal v0.4.0
Four releases on from v0.3.36: maps and `place:`, a reply to a case
mail becoming a note on its record, and the access policy's newer
rules. iris moves with it, since it is the lint for exactly this
portal.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-28 16:27:47 +02:00

42 lines
1.5 KiB
YAML

name: Lint and reload
# Lint runs on PRs too - it's the status check branch protection
# requires before the development-commit automation's PRs may merge
# (merge_when_checks_succeed). The reload only ever fires on a push
# that actually landed on main.
on:
push:
branches: [main]
pull_request:
jobs:
lint:
runs-on: bare
steps:
- uses: actions/checkout@v4
# iris (uhhm/iris) is the lint: it reads content with the portal
# release it is pinned to, so IRIS_RELEASE should match the portal
# this site runs (PORTAL_RELEASE in deploy.yml).
- name: Lint questions
env:
IRIS_RELEASE: v0.4.0
run: |
# The checkout is on a noexec mount for this runner; the cargo
# target dir is where it may run what it fetched.
bin="/var/local/cargo-target/iris-$IRIS_RELEASE"
[ -x "$bin" ] || { curl -sfL "${{ github.server_url }}/uhhm/iris/releases/download/$IRIS_RELEASE/iris" -o "$bin" && chmod +x "$bin"; }
"$bin" check --path questions
reload:
runs-on: bare
needs: lint
if: github.event_name == 'push'
steps:
# 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"