Skip to content

ci: reduce Actions usage and preempt superseded PR runs - #73

Merged
krafczyk merged 1 commit into
mainfrom
ci/actions-cleanup
Oct 16, 2026
Merged

krafczyk merged 1 commit into
mainfrom
ci/actions-cleanup

Conversation

@krafczyk

Copy link
Copy Markdown
Collaborator

Summary

Reduce routine Actions usage from 18 jobs per workflow to 8, and eliminate duplicate push/PR workflows:

Target Python Selection Jobs
Linux 3.10–3.14 good-enough 5
Windows 3.12 good-enough 1
macOS 3.12 good-enough 1
Linux 3.12 Framework-specific heavy selections 1
  • Run automatic test CI on pull requests only. Keep explicit manual suite dispatch available.
  • Add workflow-level concurrency cancellation per PR. A newer eligible run cancels earlier running/pending CI for that PR; different PRs and manual dispatches use distinct groups.
  • Fold the real-kernel notebook regression into Linux Python 3.12 good-enough coverage.
  • Install one pinned heavy-framework stack entirely with pip. Run explicit framework/native-estimator selections rather than repeating the broad good-enough suite.
  • Use XGBoost 3.4.1 consistently across extras, runtime admission, tests, and documentation.
  • Explicitly copy Flax NNX candidate variables and update the JAX x64 test API for the selected stack.
  • Preserve the native 97-case zero-skip gate, installed-wheel worker checks, JUnit artifacts, and explicitly requested extended suites.

Verification

  • Clean isolated-worktree sdist/wheel build and 192 focused tests passed, including workflow policy, documentation, native references/adapters, NNX state isolation, runner behavior, and installed extra metadata.
  • During implementation: 274 framework tests and 97 native-estimator tests passed with zero skips, including the native JUnit gate and installed-wheel worker-origin checks.
  • Representative good-enough coverage was verified across initial and resumed category batches after local storage interruptions and updating the old CI-policy assertion; the remaining batch passed 1,248 ordinary tests and 2 process-sensitive cases, with expected optional-dependency skips.
  • Pip dependency checks, YAML/shell/embedded-Python validation, and git diff checks passed.
  • Hosted platform checks will run on this PR.

Compatibility

The exact XGBoost reader gate now selects 3.4.1. Fitted envelopes written with the former 3.4.2 candidate remain incompatible; no saved-state migration is introduced.

Reduce routine CI from 18 jobs to 8: retain Linux's Python matrix, limit Windows/macOS to Python 3.12, fold notebook coverage into Linux, and share one pip-installed framework job.

Run automatic tests only for pull requests and cancel superseded runs per PR. Preserve explicitly requested manual suites in a separate concurrency group.

Use XGBoost 3.4.1 consistently and copy Flax NNX candidate variables before prediction or training. Preserve native worker and zero-skip evidence, and update workflow policy tests and documentation.

Verification: 192 focused tests passed against a clean isolated-worktree wheel. Earlier framework/native selections passed 274 and 97 tests with zero skips; representative verification completed in initial/resumed category batches. Pip dependency checks, workflow syntax, and diff checks passed.
@krafczyk
krafczyk merged commit fb53b5e into main Oct 16, 2026
10 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