diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml index 0dca9cc..f087140 100644 --- a/.gitea/workflows/publish.yml +++ b/.gitea/workflows/publish.yml @@ -71,7 +71,9 @@ jobs: cp -r target/site "$stage/site" tar -C "$stage" -czf "portal-$tag.tar.gz" portal hash.txt site # The bare binary as well: a content repo's CI runs `portal lint` - # and needs nothing else from the release. + # and needs nothing else from the release. Named to sort after + # the tarball: Gitea lists assets by name, and deploy scripts + # written before 0.6 take the first one. cp "$stage/portal" portal-bin rm -rf "$stage" @@ -101,5 +103,5 @@ jobs: "$api/releases/$id/assets?name=portal-$tag.tar.gz" > /dev/null curl -sf -X POST -H "$auth" \ -F "attachment=@portal-bin" \ - "$api/releases/$id/assets?name=portal" > /dev/null + "$api/releases/$id/assets?name=portal-x86_64-linux" > /dev/null echo "published $tag" diff --git a/CHANGELOG.md b/CHANGELOG.md index f367257..ca38cf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,14 @@ One line per change, grouped by the release that shipped it. Newest first. A release is a Cargo.toml bump plus a `v` tag; the content repos pin the tag they run (see the end of this file). -## Unreleased +## 0.6.1 (2026-09-30) - Trainer: `documents` in a plan. A text the site carries word for word (bylaws, terms) becomes a page of its own where every section is one alternative: its heading the card's, its paragraphs the card's words, from a markdown file beside the plan. No model touches it. - `slideshow` on a page: a strip of pictures the full width of the screen under the question, `max_height` in svh, each picture with its caption laid over it. Swiper when the bundle has loaded, a sideways-scrolling row before. `/site/` serves `jpeg`, and lets a browser keep photographs for an hour. +- The release's bare binary is named `portal-x86_64-linux` (it was `portal` in 0.6.0 only). Gitea lists assets by name, and deploy scripts that take the first asset got the binary instead of the tarball. + ## 0.6.0 (2026-09-30) - One binary. The lint (uhhm/iris) and the trainer (uhhm/portal-trainer) are commands of `portal`: `portal serve` (the default), `portal lint`, and `portal plan`, `build`, `answer`, `rate`, `prefer`, `score`, `simulate`, `compare`, `report`, `generate`. Same source, same version, so the site, the lint and the trainer never disagree about what content means; both histories are merged in. The release attaches the bare `portal` binary beside the tarball, so a content repo's CI downloads it and runs `portal lint`. No more iris releases; the pins that exist keep working. The trainer's `plans/`, `intakes/`, `engines/`, `sectors/` and its reference prompt live here now; its `runs/` stay in uhhm/portal-trainer. Docs gained "Training a site" and "The lint". diff --git a/docs/lint.md b/docs/lint.md index 563a342..5841556 100644 --- a/docs/lint.md +++ b/docs/lint.md @@ -15,7 +15,7 @@ content repo's CI downloads the release and runs it: ```yaml - run: | - curl -sfL "https://project.uhhm.no/uhhm/portal/releases/download/$PORTAL_RELEASE/portal" -o portal + curl -sfL "https://project.uhhm.no/uhhm/portal/releases/download/$PORTAL_RELEASE/portal-x86_64-linux" -o portal chmod +x portal && ./portal lint --path questions ```