Skip to content

Fix pr-comparison flow: reuse run.sh, drop broken validate-only preflight - #32

Merged
cakedev0 merged 1 commit into
mainfrom
pr-comparison-fixes
Aug 21, 2026
Merged

Fix pr-comparison flow: reuse run.sh, drop broken validate-only preflight#32
cakedev0 merged 1 commit into
mainfrom
pr-comparison-fixes

Conversation

@cakedev0

Copy link
Copy Markdown
Collaborator

Found live while testing #31 (benchmarking scikit-learn PR #34793): the "Validate config" step used -e reporting (and run.sh's own recently-added preflight used -e default), but implementations_for_pixi_env() rejects any PIXI_ENVIRONMENT_NAME outside its real-env allowlist - so this preflight was broken for any config calling it (all_models.py and anything derived from it), unconditionally, regardless of which real environment would go on to run.

  • run.sh: drop the recently-added --validate-only preflight block and its now-unused extract_configs helper (it's broken the same way for its own callers, e.g. run-benchmarks.yml's default config configs/all_models.py).
  • scripts/classify_bench_session.py: drop the now-dead special-case for run.sh's removed --validate-only header line.
  • .github/workflows/pr-comparison.yml: reuse run.sh directly (one invocation with two env@owner:ref entries) instead of duplicating setup_sklearn_ref.sh + sklbench calls per side - matches CONTRIBUTING.md's documented PR-vs-base comparison pattern exactly, and collapses two log files/classify calls into one. Keeps a config preflight, but scoped to this workflow with a real, always-installable env (sklearn-pypi) instead of a broken one.
  • scripts/resolve_sklearn_pr.py: output the fork's owner (matching run.sh's env@owner:ref shorthand) instead of a full clone URL, and validate the fork's repo is actually named scikit-learn (what that shorthand assumes) rather than silently mishandling a differently-named fork.

Note: this bundles fixes discovered while testing #31, but #31 itself can't pick these up until this merges - gate_and_resolve deliberately checks out base.sha (trusted-code-only), so a PR's own changes to these scripts never take effect on that same PR.

Confirmed live on PR #31: the "Validate config" step used -e reporting
(and run.sh's own preflight used -e default), but implementations_for_pixi_env()
rejects any PIXI_ENVIRONMENT_NAME outside its real-env allowlist - so this
preflight was broken for any config calling it (all_models.py and anything
derived from it, e.g. this PR's own all_models_ridge_only.py), unconditionally,
regardless of which real environment would go on to run.

- run.sh: drop the recently-added --validate-only preflight block and its
  now-unused extract_configs helper.
- scripts/classify_bench_session.py: drop the now-dead special-case for
  run.sh's removed --validate-only header line.
- .github/workflows/pr-comparison.yml: reuse run.sh directly (one
  invocation with two env@owner:ref entries) instead of duplicating
  setup_sklearn_ref.sh + sklbench calls per side - matches
  CONTRIBUTING.md's documented PR-vs-base comparison pattern exactly, and
  collapses two log files/classify calls into one. Keep a config
  preflight, but scoped to this workflow with a real, always-installable
  env (sklearn-pypi) instead of a broken one - still worth catching a
  typo'd config before a many-minutes sklearn-dev clone+build.
- scripts/resolve_sklearn_pr.py: output the fork's `owner` (matching
  run.sh's env@owner:ref shorthand) instead of a full clone_url, and
  validate the fork's repo is actually named "scikit-learn" (what that
  shorthand assumes) rather than silently mishandling a differently-named
  fork.
- tests/test_config_loading.py: register all_models_ridge_only.py in
  ENV_SENSITIVE_CONFIGS alongside the other all_models.py-derived configs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@cakedev0
cakedev0 merged commit 782d43d into main Aug 21, 2026
2 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.

1 participant