Skip to content

ci: compile corpus modules serially under hard memory limits - #4

Merged
nth-bailey merged 3 commits into
mainfrom
ci/bounded-module-compile-checks
Oct 3, 2026
Merged

nth-bailey merged 3 commits into
mainfrom
ci/bounded-module-compile-checks

Conversation

@nth-bailey

@nth-bailey nth-bailey commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

The existing corpus job only validates schemas and performs a module-graph dry run. Add a reusable -m/-l harness that emits the selected module and dependency closure, then compiles all seven destination languages serially with hard systemd memory limits, swap disabled, and ten-minute command timeouts. Failures retain command logs, timing, peak process RSS, compiler hashes, manifests, file counts, and CI artifacts. --keep-going collects all target failures while returning nonzero.

PR/push CI checks CDA and UBL Python at 3500 MiB. Weekly/manual CI checks UCI, CDA, UBL, NeTEx, and FpML across all seven languages with heavy jobs serialized. UCI uses a documented 12000 MiB budget; the other modules use 3500 MiB. Rust retains codecs and Serde, explicitly enables topological splitting, and disables debug info/incremental compilation. Runner documentation now describes validation/dry-run accurately; FpML gains its missing XML-signature dependency.

Validation: six harness regression tests pass, including real kernel memory/swap limits, timeout descendant cleanup, malformed source failure retention, and keep-going behavior. Ruff and workflow YAML parsing pass. UCI passes all seven targets locally at 12000 MiB with PolyXML compiler fixes on main (031ab53), including Rust at 11729812 KiB peak process RSS. CDA/UBL/FpML Python pass. NeTEx generation and Python compilation now pass at 3500 MiB; remaining target errors are retained. Historical failed runs and final evidence are in results/2026-10-03/.

Representative CI previously verified the sudo/system-manager harness tests and CDA/UBL Python. The updated full-UCI gate still needs its manual CI run before issue #1 closes. Compilation checks do not establish runtime XML conformance.

Closes #3. Addresses #1; its final CI success will be verified after merge.

@nth-bailey
nth-bailey marked this pull request as ready for review October 3, 2026 08:25
@nth-bailey
nth-bailey merged commit 229778f into main Oct 3, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] Add parameterized bounded compile check matrix for HL7 CDA, UBL, NeTEx, and FpML

1 participant