test: give every ignored workflow an executed integration lane - #526
Merged
Merged
Conversation
Selecting a suite now establishes its prerequisites: no test is silently skipped, no test hides behind an environment early-return, and no feature flag gates a lane. - The supervisor-process composition legs lose #[ignore] and require PHOXAL_EVAL_BUNDLE and PHOXAL_SUBSTITUTION_BUNDLE, both built by the integration acceptance job from tests/contracts/robot; the substitution run uses the checked-in robot.substitution.yaml instead of a hand-edited manifest. - The warm-edit regression loses #[ignore] and its environment gate; job selection replaces lane selection because its scratch package builds its own cold dependency tree. - The two host-acquisition paths move from phoxal-build's build_api suite to a dedicated tests/host-acquisition fixture package that the integration acceptance job runs; their stale 0.0.0-dev.7 SDK version pin becomes a manifest read that cannot drift from the train. - The nested-build suites share one dependency tree under target/suites/composition, built without incremental compilation and with line-tables-only debug info, and both test jobs cache the nested trees the Rust cache does not cover. - consumer_policy's exact cargo-tree dependency inventories become six compilation checks for the supported consumer profiles; the profiles' dependency roles stay a manifest design property instead of being re-derived from tree output. The ordinary workspace run excludes the three prerequisite-bearing fixture packages alongside the existing supervisor and MuJoCo exclusions. Verified locally with the exact job commands: slimmed workspace run 56 test binaries green; composition legs 2/2 under real supervisors (14 s); warm edit 1/1 (87 s cold scratch build); host acquisition 2/2 through real Git and local-registry sources (283 s); consumer profiles 6/6; clippy -D warnings and fmt clean. Signed-off-by: jbernavaprah <webjure@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Third step of the accepted test-boundary refactor: selecting a suite now establishes its prerequisites. No test is silently skipped, no test hides behind an environment early-return, and no feature flag gates a lane — every formerly ignored workflow runs in a job that builds what it needs.
What changes
tests/contracts/robot):#[ignore]removed;PHOXAL_EVAL_BUNDLEandPHOXAL_SUBSTITUTION_BUNDLEare required parameters, built by the new integration acceptance job. The substitution run uses the checked-inrobot.substitution.yaml(selects encoder-b forconsumer.encoder) instead of a hand-edited manifest.tests/contracts/standard-plus-custom):#[ignore]and its environment gate removed; the job selection replaces lane selection because the scratch package builds its own cold dependency tree.build_apisuite into a dedicatedtests/host-acquisitionfixture package (phoxal-host-acquisition-fixture) that the integration job runs. Their stale0.0.0-dev.7SDK version pin (the test never ran in CI, so it drifted) becomes a manifest read that cannot drift from the framework train.integration acceptancejob builds cargo-phoxal, the supervisor binary, and both bundles (manifest swap with restore and re-prepare), then runs the three packages. Both test jobs cachetarget/suitesandtarget/tests— nested trees the Rust cache does not cover — keyed on the lockfile.prepare_cyclesandprepared_selectionshare onetarget/suites/compositiontree, built without incremental compilation and with line-tables-only debug info.cargo treedependency inventories are replaced by six compilation checks for the supported consumer profiles (base, runtime, session, scenario, build, default). The profiles' dependency roles remain a manifest design property rather than something re-derived from tree output.Verified locally, with the exact job commands
clippy --workspace --all-targets -D warnings(includes the new package) andfmt --checkclean.Not yet in this PR (remaining phase-3 slice)
phoxal-build semantic tests against in-memory documents, and trybuild slimming to a representative case per guarantee.
Delivery order
Single repository; the new fixture package is
publish = false;Cargo.lockrecords the new member only.