17 Commits
Author SHA1 Message Date
rajames e15d9022cf Merge pull request 'ci: the nightly's proofs run last, and cannot hold back the images' (#124) from nightly-proofs-last into master 2026-11-07 11:36:22 +00:00
rajames d936420dfa Merge pull request 'ci: run the jobs in the runner image (#120)' (#123) from StarForth-v4.0.0 into master
Build / Image RASPI (push) Successful in 2m18s
Build / Image PC (push) Successful in 2m40s
Build / Image MILKV (push) Successful in 2m27s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 9m10s
2026-11-07 01:30:33 +00:00
rajames 72b6cf370d ci: faster CI (#119, #120); the Try-it page in the .com style (#122)
Runner image / Build and publish the runner image (push) Failing after 6m24s
Build / Image RASPI (push) Successful in 4m37s
Build / Image PC (push) Successful in 10m0s
Build / Image MILKV (push) Successful in 4m26s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 10m44s
build.yml off master (#119); the runner image recipe (part of #120); the Try-it page in the .com landing page style.

Accepted by acceptance.yml, run 166, on 7be2047a.
2026-11-06 23:25:08 +00:00
rajames 0332a2e11e demo: StarshipOS in a browser -- a throwaway machine per visitor, as Zuse (#118)
Build / Image RASPI (push) Successful in 4m12s
Build / Image PC (push) Successful in 4m16s
Build / Image MILKV (push) Successful in 4m41s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 10m42s
demo/: the demo Zuse, the saved machine, the session, the ttyd service, an Apache example and the XWiki page. Closes #112, #113, #114.

Accepted by acceptance.yml, run 163, on 4f6a267b.
2026-11-06 21:44:01 +00:00
rajames 82804f2770 The record of 2026-11-06, and issue and PR templates (#110)
Build / Image RASPI (push) Successful in 5m9s
Build / Image PC (push) Successful in 4m34s
Build / Image MILKV (push) Successful in 4m33s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 12m11s
FABRIC-3.md XLV, CHANGELOG, the issue forms and the PR template. Closes #108.

Accepted by acceptance.yml, run 159, on 810d02eb.
2026-11-06 20:33:35 +00:00
rajames c809de7393 Merge StarForth-v4.0.0 into master (#30)
Build / Image RASPI (push) Successful in 6m19s
Build / Image PC (push) Successful in 5m51s
Build / Image MILKV (push) Successful in 4m33s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 10m46s
Merges StarForth-v4.0.0 into master: StarForth v4 as the default system, the tree reorganised
(v3/, kernel/, boards/), the stick and the identity gate, and the day's CI -- the acceptance gate,
the nightlies and release to Nexus. Closes #19, #18.

Accepted by acceptance.yml, run 153, on 0fd7648a: amd64, aarch64, riscv64 to [zuse@Hera] ok>, the
PC stick loaded high (the three agree on dict_hash), make -C v4 test-32 -- the first acceptance
run in CI. The quick checks (run 152) passed too.
2026-11-06 18:57:53 +00:00
rajames caad527e26 ci: add workflow_dispatch trigger for manual test runs
StarshipOS Build / milkv (push) Failing after 2m10s
StarshipOS Build / pc (push) Failing after 2m16s
StarshipOS Build / pi4 (push) Failing after 2m1s
StarshipOS Build / pi5 (push) Failing after 1m57s
StarshipOS Build / qemu (push) Failing after 1m56s
StarshipOS Build / Isabelle/HOL Proofs (push) Failing after 2m49s
StarshipOS Build / Documentation (push) Failing after 1m55s
2026-11-06 14:05:45 +00:00
rajamesandClaude Sonnet 4.6 02946a5318 ci: add nightly snapshot build (02:00 UTC schedule)
StarshipOS Build / milkv (push) Failing after 31s
StarshipOS Build / pc (push) Failing after 28s
StarshipOS Build / pi4 (push) Failing after 36s
StarshipOS Build / pi5 (push) Failing after 37s
StarshipOS Build / qemu (push) Failing after 25s
StarshipOS Build / Isabelle/HOL Proofs (push) Failing after 33s
StarshipOS Build / Documentation (push) Failing after 25s
Scheduled runs use -SNAPSHOT version suffix and publish to
starshipos-snapshots Nexus repo instead of starshipos-releases.
Push-to-master releases continue to use -<sha> suffix.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 04:28:38 +00:00
rajamesandClaude Sonnet 4.6 a6329fc0c5 ci: add documentation build job
StarshipOS Build / milkv (push) Failing after 35s
StarshipOS Build / pi4 (push) Failing after 36s
StarshipOS Build / pi5 (push) Failing after 38s
StarshipOS Build / qemu (push) Failing after 34s
StarshipOS Build / Documentation (push) Failing after 30s
StarshipOS Build / pc (push) Failing after 30s
StarshipOS Build / Isabelle/HOL Proofs (push) Failing after 35s
Runs api-docs (Doxygen → AsciiDoc), docs-latex (AsciiDoc → LaTeX via
asciidoctor), and math-companion (LaTeX → PDF) in a dedicated job
parallel to builds and Isabelle verification. Installs doxygen, Ruby +
asciidoctor-latex gem, and texlive. Uploads docs as a Gitea artifact
on every run regardless of pass/fail.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 04:20:59 +00:00
rajamesandClaude Sonnet 4.6 08daef9971 ci: add Isabelle/HOL proof verification job
StarshipOS Build / milkv (push) Failing after 30s
StarshipOS Build / pc (push) Failing after 28s
StarshipOS Build / pi4 (push) Failing after 29s
StarshipOS Build / pi5 (push) Failing after 24s
StarshipOS Build / qemu (push) Failing after 32s
StarshipOS Build / Isabelle/HOL Proofs (push) Failing after 25s
Runs StarForth session (52 theories) in parallel with the board build
matrix. Caches the Isabelle2024 installation (~800MB) and the compiled
heaps keyed on proof/**/*.thy + ROOT, so only theory changes trigger a
full rebuild. Uploads the build log as an artifact on every run
(pass or fail) for audit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 04:20:00 +00:00
rajamesandClaude Sonnet 4.6 b191ace026 ci: board-matrix build pipeline with Nexus Maven publish
StarshipOS Build / pi4 (push) Failing after 27s
StarshipOS Build / pi5 (push) Failing after 40s
StarshipOS Build / milkv (push) Failing after 39s
StarshipOS Build / pc (push) Failing after 35s
StarshipOS Build / qemu (push) Failing after 21s
Builds all boards (qemu, pc, pi4, pi5, milkv) in parallel. Installs
cross-compilers (aarch64-linux-gnu, riscv64-linux-gnu) and clang-18
for the aarch64 loader. Packs ISO (amd64/aarch64) and GPT image (riscv64).

On master push, publishes to Nexus starshipos-releases using Maven
coordinates org.f18:kernel:<version>-<sha>:<board> and
org.f18:starforth:<version>-<sha>:<board>.

CROSS_COMPILE wired into StarForth Makefile via mk/boards.mk so
make T=pi4 picks up aarch64-linux-gnu-gcc automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 04:17:12 +00:00
rajamesandClaude Sonnet 4.6 0820ee7d32 build: introduce mk/boards.mk board target table, T= selects board
Build / build-amd64-iso (push) Failing after 38s
Build / build-aarch64-iso (push) Failing after 34s
Build / build-riscv64-img (push) Failing after 28s
T= now names a specific board (qemu, pc, pi4, pi5, milkv) rather than
an arch alias. mk/boards.mk is the single table: sets ARCH, BOARD, and
BOARD_NAME. Each Makefile applies board-specific compiler flags after its
arch block — pi5 gets Cortex-A76 tuning, pi4 gets Cortex-A72, qemu uses
portable x86-64 baseline instead of -march=native. Zynq-7020 is stubbed
in comments for future 32-bit ARM support. ARCH= override still works
for raw arch selection without a named board.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 04:10:07 +00:00
rajamesandClaude Sonnet 4.6 81caf71511 build: T= aliases ARCH= (board/SBC selection), lock StarForth to fastest
Build / build-amd64-iso (push) Failing after 29s
Build / build-aarch64-iso (push) Failing after 23s
Build / build-riscv64-img (push) Failing after 36s
T= is now shorthand for ARCH=, selecting the target board (raspi, amd64,
aarch64, riscv64). StarForth TARGET is locked to fastest — it's the only
build profile. Makefile.starkernel T= wired the same way before ARCH
normalization runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 03:43:15 +00:00
rajamesandClaude Sonnet 4.6 2ae0cc2d42 build: add T= shorthand alias for TARGET= in both Makefiles
Build / build-amd64-iso (push) Failing after 39s
Build / build-aarch64-iso (push) Failing after 33s
Build / build-riscv64-img (push) Failing after 29s
Lets you type make T=fastest or make -f Makefile.starkernel ARCH=amd64 T=kernel
instead of the full TARGET= form. T= is resolved before the strip pass so it
behaves identically to TARGET= in all cases.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-11-06 03:40:43 +00:00
rajames 357cb5b4ac Merge pull request 'docs: add StarForth primitive word reference' (#2) from claude/wizardly-tesla-36lqlt into master
Build / build-amd64-iso (push) Canceled after 0s
Build / build-aarch64-iso (push) Canceled after 0s
Build / build-riscv64-img (push) Canceled after 0s
Reviewed-on: https://gitea.strshipos.org/admin/LithosAnanake/pulls/2
2026-09-29 05:22:50 +00:00
rajames db8a3e0fd9 ci: use upload-artifact@v3 (v4 protocol unsupported on this Gitea version) 2026-08-01 12:19:13 -04:00
rajames 2cafd02e29 ci: add Gitea Actions build workflow (amd64/aarch64 ISO, riscv64 disk image) 2026-08-01 12:11:41 -04:00