ci: faster CI (#119, #120); the Try-it page in the .com style #122

Open
rajames wants to merge 3 commits from StarForth-v4.0.0 into master
Owner

What and why

Two changes held back from #118 so its acceptance run was not restarted.

  • CI speed (Captain Bob, 2026-11-06: a small server, a little sluggish):
    • build.yml runs on pushes to the working branch only -- no quick check on master after a
      merge, whose content has just passed acceptance (~23 minutes saved per merge).
    • ci/runner-image/Dockerfile and .gitea/workflows/runner-image.yml: an image with the build's
      tools preinstalled, built from the Makefile's own make init, published to the package
      registry. The workflows switch to it in a later change, once it is published and accepted. It
      needs the runner to lend jobs its Docker daemon (container.docker_host: automount) and a
      PACKAGES_TOKEN secret.
    • make init runs git lfs install --local only inside a checkout.
  • The "Try it" page in the .com landing page's style (demo/xwiki-try-it.xwiki), with the demo
    host and its framing permission moved to the .com.

Closes #119
Part of #120 (its first step; the switch to the image comes later)

Acceptance

The Acceptance check runs on this PR by itself.

  • runner-image.yml not yet run: it waits on the runner's Docker and the secret (#120)

The record

  • docs/fabric/FABRIC-3.md -- the CI speed work belongs in §XLV's successor
  • Nothing in this PR is a fix nobody asked for

🤖 Generated with Claude Code

https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2

## What and why Two changes held back from #118 so its acceptance run was not restarted. - **CI speed** (Captain Bob, 2026-11-06: a small server, a little sluggish): - `build.yml` runs on pushes to the working branch only -- no quick check on `master` after a merge, whose content has just passed acceptance (~23 minutes saved per merge). - `ci/runner-image/Dockerfile` and `.gitea/workflows/runner-image.yml`: an image with the build's tools preinstalled, built from the Makefile's own `make init`, published to the package registry. The workflows switch to it in a later change, once it is published and accepted. It needs the runner to lend jobs its Docker daemon (`container.docker_host: automount`) and a `PACKAGES_TOKEN` secret. - `make init` runs `git lfs install --local` only inside a checkout. - **The "Try it" page** in the `.com` landing page's style (`demo/xwiki-try-it.xwiki`), with the demo host and its framing permission moved to the `.com`. Closes #119 Part of #120 (its first step; the switch to the image comes later) ## Acceptance The **Acceptance** check runs on this PR by itself. - [ ] `runner-image.yml` not yet run: it waits on the runner's Docker and the secret (#120) ## The record - [ ] `docs/fabric/FABRIC-3.md` -- the CI speed work belongs in §XLV's successor - [x] Nothing in this PR is a fix nobody asked for 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames added 3 commits 2026-11-06 21:44:40 +00:00
Captain Bob, 2026-11-06: a small server, a little sluggish. Each change
cost about an hour of runner time; the gate itself is about 15 minutes.

#119 -- build.yml runs on pushes to the working branch only. What
reaches master arrives through a PR whose content just passed
acceptance; checking it again cost ~23 minutes after every merge.

#120, first step -- ci/runner-image/Dockerfile: gitea/runner-images'
Ubuntu 24.04 (with Node, for the actions) plus what
make ARCH=amd64,aarch64,riscv64 init INIT_DOCS=0 installs -- run from
the Makefile itself, not a copied list -- and Maven for publishing.
.gitea/workflows/runner-image.yml builds it and publishes it to the
package registry as lithosananke-runner:<commit>. The workflows switch
to it in a later change, once it is published and has passed
acceptance. It needs the runner to lend jobs its Docker daemon
(container.docker_host: automount) and a PACKAGES_TOKEN secret, unless
the Actions token may publish packages.

make init does git lfs install --local only inside a checkout: the
image build is not one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
Captain Bob, 2026-11-06: "I want the try it as it's very own page and
use the landing page we designed earlier ... as a baseline."

The landing page is the .com's Main.WebHome. The Try-it page follows
it: a floating box -- Your Machine, in place of Quick Facts -- a linked
title, == sections, {{info}} and {{warning}}. It goes at TryIt on the
.com (/bin/view/TryIt/), with the console embedded and links back to
the landing page and the source.

The page is on the .com now, so apache-demo.conf lets the .com frame
the console (frame-ancestors), and the demo's host is
try.starshipos-f18.com.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
Merge master into StarForth-v4.0.0: #118's merge commit, so the next PR is up to date
Acceptance / Acceptance (pull_request) Waiting to run
Build / Image RASPI (push) Successful in 4m24s
Build / Image PC (push) Successful in 4m28s
Build / Image MILKV (push) Successful in 4m28s
Build / v4 tests (32- and 64-bit cells) (push) In progress
7be2047aee
master's only commit not on the branch is the merge of #118, whose tree is the branch's own
4f6a267b.
Some checks are pending
Acceptance / Acceptance (pull_request) Waiting to run
Required
Details
Build / Image RASPI (push) Successful in 4m24s
Build / Image PC (push) Successful in 4m28s
Build / Image MILKV (push) Successful in 4m28s
Build / v4 tests (32- and 64-bit cells) (push) In progress
Some required checks are missing.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin StarForth-v4.0.0:StarForth-v4.0.0
git checkout StarForth-v4.0.0
Sign in to join this conversation.