You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The active main ruleset still requires historical CI contexts:
Package Multiwfn GUI (Linux)
Package Multiwfn GUI (macOS)
Package Multiwfn GUI (Windows)
GUI Linux glibc 2.28 compatibility
noGUI (ubuntu-latest)
noGUI (macos-latest)
noGUI (windows-latest)
Core source guard
The current MatterViz checks are not required:
MatterViz frontend and Rust host
Package MatterViz WebView (Linux)
Package MatterViz WebView (macOS)
Package MatterViz WebView (Windows)
This was inherited from the Qt/3Dmol transition. PR #52 makes the obsolete GUI and platform-specific noGUI contexts lightweight compatibility gates, which reduces CI cost but also makes the missing MatterViz requirement more visible: a failed MatterViz Windows/macOS/Linux package job does not currently block merging.
The individual MatterViz jobs cannot simply be added to the ruleset today. .github/workflows/matterviz-gui.yml uses pull-request path filters, so unrelated pull requests would never create those check contexts and could remain blocked with missing required checks.
Release and pull-request artifact trust boundaries must remain separate. This issue must not promote untrusted PR artifacts into release jobs.
Proposed design
Add an always-present aggregate check, for example MatterViz required gate:
Run a lightweight changed-files classifier for every pull request.
For MatterViz, shared build, packaging, or Multiwfn core changes, run and require:
frontend and Rust Host validation;
Linux MatterViz package;
macOS MatterViz package;
Windows MatterViz package.
Make the aggregate gate fail if any required upstream job fails or is unexpectedly skipped.
For unrelated documentation, tooling, or Linux-headless-only changes, let the aggregate gate pass in a few seconds without running the native package matrix.
Keep release tags rebuilding and testing their own same-run artifacts.
The classifier should be conservative: unknown or shared source paths must select the full MatterViz validation path.
Ruleset migration
After the aggregate gate is proven on live pull requests, update the main ruleset to require:
Core source guard
MatterViz required gate
the retained Linux headless/noGUI gate, if still independently needed
Then remove the historical required contexts for:
Qt/3Dmol GUI package jobs;
Qt/3Dmol glibc compatibility;
macOS and Windows noGUI jobs.
The temporary lightweight compatibility jobs in PR #52 can then be removed.
Problem
The active
mainruleset still requires historical CI contexts:Package Multiwfn GUI (Linux)Package Multiwfn GUI (macOS)Package Multiwfn GUI (Windows)GUI Linux glibc 2.28 compatibilitynoGUI (ubuntu-latest)noGUI (macos-latest)noGUI (windows-latest)Core source guardThe current MatterViz checks are not required:
MatterViz frontend and Rust hostPackage MatterViz WebView (Linux)Package MatterViz WebView (macOS)Package MatterViz WebView (Windows)This was inherited from the Qt/3Dmol transition. PR #52 makes the obsolete GUI and platform-specific noGUI contexts lightweight compatibility gates, which reduces CI cost but also makes the missing MatterViz requirement more visible: a failed MatterViz Windows/macOS/Linux package job does not currently block merging.
Related work:
Constraint
The individual MatterViz jobs cannot simply be added to the ruleset today.
.github/workflows/matterviz-gui.ymluses pull-request path filters, so unrelated pull requests would never create those check contexts and could remain blocked with missing required checks.Release and pull-request artifact trust boundaries must remain separate. This issue must not promote untrusted PR artifacts into release jobs.
Proposed design
Add an always-present aggregate check, for example
MatterViz required gate:The classifier should be conservative: unknown or shared source paths must select the full MatterViz validation path.
Ruleset migration
After the aggregate gate is proven on live pull requests, update the
mainruleset to require:Core source guardMatterViz required gateThen remove the historical required contexts for:
The temporary lightweight compatibility jobs in PR #52 can then be removed.
Implementation order
Acceptance criteria
MatterViz required gatecontext.