Skip to content

CI: Regenerate docs/bootstrap-inventory.md before ci-common --check #765

@PurHur

Description

@PurHur

Problem

script/ci-common.sh runs php script/bootstrap-inventory.php --check early in both ci-fast.sh and ci-local.sh. When docs/bootstrap-inventory.md drifts from the generator (file count / blocker table changes on master without a committed regen), the entire gate exits 1 before PHPUnit:

Stale /compiler/docs/bootstrap-inventory.md; run: php script/bootstrap-inventory.php

Batch 50 harness verify hit this on ./script/docker-ci-local.sh even though MiniWebApp AOT link tests pass after manual regen.

Goal

Contributors and harness hosts do not get a false-red full CI from inventory drift alone.

Scope (pick one in PR)

A (preferred): In script/ci-common.sh, run php script/bootstrap-inventory.php (write) when --check would fail, then continue — same pattern as docs/capabilities.md regen in CI.

B: Move --check to ci-fast only after a documented make bootstrap-profile prerequisite.

C: Loosen --check to warn unless BOOTSTRAP_INVENTORY_STRICT=1.

Implementation hints

Piece File
Check script/bootstrap-inventory.php --check
Hook script/ci-common.sh (before capability matrix checks)
Doc docs/bootstrap-selfhost.md, #212

Acceptance criteria

# Touch lib/ to change inventory, run CI without manual regen:
./script/ci-fast.sh   # exits 0 (regen or warn per chosen option)

./script/docker-ci-local.sh --filter VMTest

Committed docs/bootstrap-inventory.md stays in sync on PRs that change bootstrap blockers (optional follow-up: pre-commit note in #48).

Dependencies

Verification

Local/Docker only — not GitHub Actions.

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions