Repository navigation
Self-host P1: commit regenerated bootstrap-inventory.md #830
Copy link
Copy link
Labels
area:toolingTooling / CI / docsTooling / CI / docsenhancementNew feature or requestNew feature or requestphase-0:FoundationPhase 0 – foundation & DevExPhase 0 – foundation & DevEx
Description
Problem
docs/bootstrap-inventory.md is generated by script/bootstrap-inventory.php and enforced in CI via #765 (ci_ensure_generated_doc in script/ci-common.sh).
script/bootstrap-selfhost-compile-probe.php --update-inventory can append a compiler_blockers / NEXT_LOWER section after a failed self-host compile (#816). That section drifts unless committed in the same PR as probe or compiler fixes.
Contributors see Stale docs/bootstrap-inventory.md in CI without knowing whether to run inventory only or inventory + probe update.
Goal
Committed docs/bootstrap-inventory.md on master always matches:
php script/bootstrap-inventory.php
# optional when probe section changed:
php script/bootstrap-selfhost-compile-probe.php --update-inventory
php script/bootstrap-inventory.php # if probe rewrites headersScope
- Document regen commands in
docs/bootstrap-selfhost.mdand PR checklist - After Self-host: wire compile-probe into Makefile and CI #829 wires probe into CI: fail with actionable message listing both commands
- Keep
compiler_blockerstable in sync with actualbin/compile.php -lontest/selfhost/compiler_minimal - No manual edits to inventory tables (generator only)
Implementation hints
| Piece | File | Notes |
|---|---|---|
| Generator | script/bootstrap-inventory.php |
--check exit 1 when stale |
| Probe append | script/bootstrap-selfhost-compile-probe.php |
bootstrapSelfhostProbeAppendInventory() |
| CI | script/ci-common.sh ci_run_inventory_checks() |
Runs before PHPUnit |
| Test | test/unit/BootstrapInventoryTest.php |
--check integration |
When to regen
| Change | Command |
|---|---|
New file on bin/vm.php path |
php script/bootstrap-inventory.php |
| Self-host probe finds new blocker | php script/bootstrap-selfhost-compile-probe.php --update-inventory |
| Capability / bootstrap doc cross-links | make bootstrap-profile |
Acceptance criteria
php script/bootstrap-inventory.php --check
git diff --exit-code docs/bootstrap-inventory.mdPasses on master after this issue's PR.
Full CI:
./script/ci-local.sh # inventory check in ci-common (no stale doc)Dependencies
- CI: Regenerate docs/bootstrap-inventory.md before ci-common --check #765 — stale inventory fails CI
- Self-host: bootstrap compile probe script + inventory gaps #816 ✅ — probe
--update-inventory - Self-host: wire compile-probe into Makefile and CI #829 — probe wired into CI (optional ordering)
Verification
Local only:
php script/bootstrap-inventory.php && git status docs/bootstrap-inventory.mdNo GitHub Actions.
Links
- docs/bootstrap-inventory.md
- Milestone: Self-host — compile php-compiler with php-compiler (bootstrap) #212 self-host umbrella, ROADMAP 🗺️ ROADMAP: Self-host + web-capable PHP subset (living) #78 Phase 0 stretch
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:toolingTooling / CI / docsTooling / CI / docsenhancementNew feature or requestNew feature or requestphase-0:FoundationPhase 0 – foundation & DevExPhase 0 – foundation & DevEx
Activity
Merge pull request #1027 from PurHur/issue-830-bootstrap-inventory-sync
Regenerate bootstrap-inventory.md for self-host P1 sync. (#1029)
Bootstrap: sync inventory after StringVarDumpJit removal (#830) (#16585)