Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/smoke-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,9 @@ jobs:
# in seconds instead of in the next nightly. Workspaces without a
# release profile (user workspaces, HowTo*) are skipped.
run: |
# Fire if the workspace carries a release profile under either name:
# canonical profile_release.yaml (PyAutoHands#161/#181 step 6 rename)
# or legacy env_vars_release.yaml. The validator resolves both names.
if [ -f workspace/config/build/profile_release.yaml ] || [ -f workspace/config/build/env_vars_release.yaml ]; then
# Fire if the workspace carries a release profile: the canonical
# profile_release.yaml (PyAutoHands#161/#181 step 6 rename).
if [ -f workspace/config/build/profile_release.yaml ]; then
python PyAutoHands/autohands/validate_env_profiles.py workspace \
--strict-derivation --strict-markers
else
Expand Down
19 changes: 7 additions & 12 deletions .github/workflows/workspace-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ name: Workspace Validation
# mode=smoke (default — schedule / bare workflow_dispatch / workflow_call)
# Runs every workspace's scripts AND generated notebooks against the
# CURRENT source `main` of the 5 libraries (source-shadowed via PYTHONPATH,
# under the `smoke` env profile — config/build/profile_smoke.yaml, legacy
# env_vars.yaml accepted during migration). Unchanged by
# under the `smoke` env profile — config/build/profile_smoke.yaml).
# Unchanged by
# M3 — this remains the continuous readiness signal / weekly sweep, and
# `test_run`/`readiness` keep reading its conclusion the same way.
#
Expand All @@ -20,8 +20,7 @@ name: Workspace Validation
# still run FROM WITHIN each workspace checkout so autonerves resolves the
# workspace's own config/ + dataset/, not the wheel's packaged defaults
# (closes Gap 4). Uses the `release` env profile — each workspace/
# workspace_test repo's config/build/profile_release.yaml (legacy
# env_vars_release.yaml accepted during migration) — which is
# workspace_test repo's config/build/profile_release.yaml — which is
# PYAUTO_TEST_MODE=1 (reduced, real sampler) + SMALL_DATASETS=1 +
# FAST_PLOTS=1 for user workspaces, PYAUTO_TEST_MODE=0 (real searches,
# each script's own n_like_max caps) + full-res + real plots for
Expand Down Expand Up @@ -82,8 +81,7 @@ env:
# Workspace pins lag the libraries' source __version__ between releases;
# without this every script fails fast with WorkspaceVersionMismatchError.
# Same bypass run_scripts uses in release.yml. mode=release also carries this
# in profile_release.yaml (legacy env_vars_release.yaml accepted during
# migration; the TestPyPI dev version never matches the
# in profile_release.yaml (the TestPyPI dev version never matches the
# workspace pin either) — belt and braces.
PYAUTO_SKIP_WORKSPACE_VERSION_CHECK: "1"

Expand Down Expand Up @@ -317,15 +315,12 @@ jobs:
# the wheel's packaged defaults (closes Gap 4).
set -e
pushd workspace
# Prefer the canonical profile_release.yaml (PyAutoHands#161/#181 step
# 6 rename); fall back to the legacy env_vars_release.yaml so this
# workflow accepts both names during the migration window.
# Use the canonical profile_release.yaml (PyAutoHands#161/#181 step
# 6 rename).
if [ -f "config/build/profile_release.yaml" ]; then
ENV_CONFIG="config/build/profile_release.yaml"
elif [ -f "config/build/env_vars_release.yaml" ]; then
ENV_CONFIG="config/build/env_vars_release.yaml"
else
echo "::error::config/build/profile_release.yaml missing (legacy env_vars_release.yaml also accepted) — no release profile defined for this workspace"
echo "::error::config/build/profile_release.yaml missing — no release profile defined for this workspace"
exit 1
fi
python3 "$(pwd)/../PyAutoHands/autohands/run_python.py" \
Expand Down
3 changes: 1 addition & 2 deletions docs/release_validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ readiness hard gate. **M3 wires the acceptance criteria below into
untouched, default `mode: smoke` per-PR path):

- The `release` env profile lives in each workspace/`*_workspace_test` repo as
`config/build/profile_release.yaml` (legacy `env_vars_release.yaml` is still
accepted during the migration window) — a self-contained sibling of
`config/build/profile_release.yaml` — a self-contained sibling of
`profile_smoke.yaml` (the `smoke` profile), passed to Build's `run_python.py`
unmodified via its existing `--env-config` flag. No changes were needed in
PyAutoHands's executor primitives to support this — `--env-config` already
Expand Down
3 changes: 1 addition & 2 deletions skills/smoke_test/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ the user explicitly passes workspace names.

### 2. Load env config + wipe stale output

For each workspace, read `config/build/profile_smoke.yaml` (legacy
`env_vars.yaml` is still accepted during the migration window) to build the per-script env
For each workspace, read `config/build/profile_smoke.yaml` to build the per-script env
prefix (`defaults` minus matching `overrides` `unset`s, plus optional
`args_default`). Before launching, wipe `<workspace_root>/output/*` (glob — keep
the tracked `output/` dir). Detail: [`reference.md`](reference.md) →
Expand Down
3 changes: 1 addition & 2 deletions skills/smoke_test/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ notebook.

## Environment config

Each workspace's `config/build/profile_smoke.yaml` (legacy `env_vars.yaml` is
still accepted during the migration window) has:
Each workspace's `config/build/profile_smoke.yaml` has:

- `defaults` — env vars applied to every script (`PYAUTO_TEST_MODE`,
`PYAUTO_SMALL_DATASETS`, …).
Expand Down
Loading