ci: optional selfhost-loop workflow + determinism script

Add tools/selfhost_loop.sh with path-normalized C and stripped ELF
checks (bootstrap ×2). Wire GitHub Actions (manual/weekly/main paths)
outside default make test. Raise selfhost lexer maxTokens for large files.
This commit is contained in:
2026-07-19 23:43:51 +03:00
parent c82757d51c
commit fe1da8b42e
7 changed files with 256 additions and 40 deletions
+11
View File
@@ -189,6 +189,17 @@ summary table and exits:
Use `Std::Test` module for assertions inside test code.
### Selfhost loop (optional CI)
```bash
make selfhost-loop # bootstrap builds src/ twice; C+ELF match
BUX_SELFHOST_FIXED_POINT=1 make selfhost-loop # also buxc2→buxc3 (experimental)
```
Not part of default `make test`. GitHub Actions workflow
`.github/workflows/selfhost-loop.yml` runs it on:
- manual `workflow_dispatch`
- weekly schedule
- pushes to `main` that touch `src/`, `lib/`, bootstrap, or the loop script
### Format (`bux fmt`)
```bash
./buxc fmt examples/hello.bux # reformat one file