Skip to content

feat: strict env-profile validation in the PR smoke gate (#161 step 5)#100

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/env-profile-derivation
Jul 23, 2026
Merged

feat: strict env-profile validation in the PR smoke gate (#161 step 5)#100
Jammy2211 merged 1 commit into
mainfrom
feature/env-profile-derivation

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

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 stepvalidate_env_profiles --strict-derivation --strict-markers — for any calling workspace that carries config/build/env_vars_release.yaml (the three *_workspace_test repos). 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_test repos 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:

  • Verified locally: injecting a PYAUTO_DISABLE_JAX override into a copy of the al release profile → ERROR … overrides[0] touches PYAUTO_DISABLE_JAX …, exit 1.
  • Marker-mismatch and non-bool-key failures are covered by PyAutoHands unit tests (tests/test_validate_env_profiles.py).

Test Plan

  • Workflow YAML parses
  • Strict gate command passes against all three live _test repos, fails against the doctored copy
  • First PR in any _test repo after merge shows the step green in CI

Heart 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

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>
@Jammy2211
Jammy2211 merged commit 0619c7e into main Jul 23, 2026
4 checks passed
@Jammy2211
Jammy2211 deleted the feature/env-profile-derivation branch July 23, 2026 18:25
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.

1 participant