The lint moves out to uhhm/iris

question_lint, needs_replay, the needs module and the local-checkout
loaders now live in uhhm/iris, which depends on this crate as a
library pinned to a release tag. The tarball ships the matching iris
binary (IRIS_RELEASE in publish.yml) in place of question_lint, so a
site that pins nothing extra keeps a lint at current/iris. Portal
loses about 1,100 lines and keeps only what runs at request time.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-22 17:29:26 +02:00
co-authored by Claude Fable 5.1
parent 623399f25d
commit 1ebd800fda
10 changed files with 28 additions and 1454 deletions
+9 -4
View File
@@ -37,6 +37,8 @@ jobs:
SCCACHE_DIR: /var/local/sccache
SCCACHE_SERVER_PORT: "4228"
CARGO_TARGET_DIR: /var/local/cargo-target
# The iris release shipped in this portal release's tarball.
IRIS_RELEASE: v0.1.0
# cargo-leptos's own downloaded tools (wasm-bindgen, wasm-opt) cache
# under $XDG_CACHE_HOME - left at its default that resolves inside
# this unit's systemd StateDirectory, files it creates there end up
@@ -58,8 +60,11 @@ jobs:
# cargo-leptos only builds the leptos bin-target ("portal") - the
# question-lint utility binary needs its own plain cargo build.
- name: Build question-lint
run: cargo build --release --bin question_lint --features ssr
# The lint lives in uhhm/iris and is pinned to the portal release it
# matches; shipping it in the tarball keeps a site that pins nothing
# extra lint-capable at /srv/app/<instance>/current/iris.
- name: Build iris
run: cargo install --git "${{ github.server_url }}/uhhm/iris.git" --tag "$IRIS_RELEASE" --root "$CARGO_TARGET_DIR/iris-install" --force iris
- name: Package
run: |
@@ -67,7 +72,7 @@ jobs:
tag="${{ github.ref_name }}"
stage=$(mktemp -d)
cp "$CARGO_TARGET_DIR/release/portal" "$stage/portal"
cp "$CARGO_TARGET_DIR/release/question_lint" "$stage/question_lint"
cp "$CARGO_TARGET_DIR/iris-install/bin/iris" "$stage/iris"
# hash-files = true: leptos resolves hash.txt next to the running
# binary, so it ships beside portal in the release dir.
cp "$CARGO_TARGET_DIR/release/hash.txt" "$stage/hash.txt"
@@ -75,7 +80,7 @@ jobs:
# not affected by CARGO_TARGET_DIR - only the plain `cargo build`
# outputs (release/, front/) move with that override.
cp -r target/site "$stage/site"
tar -C "$stage" -czf "portal-$tag.tar.gz" portal question_lint hash.txt site
tar -C "$stage" -czf "portal-$tag.tar.gz" portal iris hash.txt site
rm -rf "$stage"
# The run's own ephemeral token has write access to this repo -