feat: strict env-profile validation in the PR smoke gate (#161 step 5)#100
Merged
Conversation
The reusable smoke workflow now runs validate_env_profiles --strict-derivation --strict-markers for any workspace carrying config/build/env_vars_release.yaml (the *_workspace_test repos) before the smoke run. A PYAUTO_DISABLE_JAX override creeping back, a marker/backend mismatch, or any profile config error now fails the PR gate in seconds instead of surfacing in the next nightly. Workspaces without a release profile (user workspaces, HowTo*) skip the step. All three *_workspace_test repos validate 0/0 under the strict flags on current main (post PyAutoHands#182 + al#203 + ag#85), so the gate turns on green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.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.
Summary
Step 5 of the env-profile migration (PyAutoHands#181; design
PyAutoHands/docs/env_profile_redesign.md§6): the Heart-owned reusable smoke workflow gains a binding strict env-profile validation step —validate_env_profiles --strict-derivation --strict-markers— for any calling workspace that carriesconfig/build/env_vars_release.yaml(the three*_workspace_testrepos). Callers without a release profile (user workspaces, HowTo*) skip the step. Since callers pin@main, the gate activates for all nine calling repos on merge.Why it turns on green
All three
*_workspace_testrepos validate 0 errors / 0 warnings under the strict flags on current main (after PyAutoHands#182 + autolens_workspace_test#203 + autogalaxy_workspace_test#85 merged today).Acceptance (the step-5 criterion)
A PR re-introducing enumeration or a marker/backend mismatch fails its own gate:
PYAUTO_DISABLE_JAXoverride into a copy of the al release profile →ERROR … overrides[0] touches PYAUTO_DISABLE_JAX …, exit 1.tests/test_validate_env_profiles.py).Test Plan
_testrepos, fails against the doctored copy_testrepo after merge shows the step green in CIHeart gate
Continuation of today's step-4 ship under the same human-acknowledged pre-existing RED (recorded on #182/#203/#85). Merge is a separate human act.
Generated by the PyAutoLabs agent workflow.
🤖 Generated with Claude Code