Skip to content

ci: retire redundant legacy GUI validation - #52

Merged
Stardust0831 merged 3 commits into
mainfrom
ci/streamline-gui-checks
Jul 24, 2026
Merged

ci: retire redundant legacy GUI validation#52
Stardust0831 merged 3 commits into
mainfrom
ci/streamline-gui-checks

Conversation

@Stardust0831

@Stardust0831 Stardust0831 commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • stop compiling and packaging the retired Qt/3Dmol GUI on ordinary pull requests and main pushes
  • preserve existing required legacy GUI contexts as lightweight PR gates until the repository ruleset is migrated
  • stop compiling separate macOS/Windows noGUI binaries; preserve their historical required contexts as lightweight Ubuntu gates
  • keep the real noGUI build, extracted-package full suite, and v*-nogui.* release Linux-only on the Rocky Linux 8/glibc 2.28 baseline
  • remove heavyweight noGUI main push reruns so the expensive lifecycle is PR validation followed by trusted release-tag rebuilding
  • cancel superseded PR/branch validation without allowing tag or manual release runs to cancel each other

Why

MatterViz is the supported cross-platform distribution and its Windows/macOS packages already exercise command-line startup and analysis. A second platform-specific noGUI compilation repeats the same Multiwfn calculation core without providing a distinct supported runtime. Linux retains a separate headless/noGUI package until a WebKit-independent MatterViz Host is available.

The active main ruleset still requires three legacy GUI contexts, Rocky compatibility, and three historical noGUI contexts. Deleting their PR triggers immediately would strand open pull requests. This change keeps those exact names as cheap compatibility gates while performing only the relevant Linux noGUI build.

MatterViz workflow-internal artifact reuse and removal of the historical feature/matterviz-gui push trigger remain deferred until PR #51 merges, because that PR owns .github/workflows/matterviz-gui.yml and adds the preview/formal updater distinction.

Event model

  • pull request: Linux noGUI build/test plus lightweight historical GUI/noGUI contexts
  • push to main: no heavyweight legacy GUI or noGUI rebuild
  • v*-nogui.* tag: fresh Linux noGUI package/test and same-run Linux release publication
  • legacy GUI tag/manual dispatch: complete historical GUI package build remains available

Verification

  • actionlint 1.7.12 on all changed workflows
  • static event-routing, exact-check-name, artifact, release, and release-safe concurrency assertions
  • python3 -m unittest -v tests.test_matterviz_build_names (18/18)
  • git diff --check
  • two independent read-only reviews, including release/provenance review

Summary by CodeRabbit

  • Improvements

    • Added workflow-level concurrency controls to cancel redundant in-flight runs.
    • Streamlined noGUI release to Linux-only packaging/build, with clean glibc 2.28 validation of Linux release candidates.
    • Updated release packaging/upload to include only the Linux headless/noGUI artifact and refreshed release notes/asset naming.
    • Made GUI demo and Linux compatibility workflows more event-aware, restricting PR builds to lightweight compatibility checks and tightening triggers/uploads.
  • Documentation

    • Updated MatterViz CI streamlining logs and TODO checklist with remaining follow-ups.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d2d7e705-ba63-4b9d-9610-aeb0c2bc4d28

📥 Commits

Reviewing files that changed from the base of the PR and between e910cba and bf6d496.

📒 Files selected for processing (2)
  • .github/workflows/build.yml
  • docs/matterviz-spectrum-log.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/matterviz-spectrum-log.md
  • .github/workflows/build.yml

📝 Walkthrough

Walkthrough

Changes

The CI workflows add concurrency controls, skip redundant pull-request GUI and compatibility builds, preserve selected validation paths, streamline noGUI packaging to Linux, update Windows packaging, and document the resulting workflow status and follow-up tasks.

CI streamlining

Layer / File(s) Summary
Build concurrency and Linux release validation
.github/workflows/build.yml
Adds concurrency, makes noGUI packaging and release assets Linux-only, separates packaged archive validation, and replaces macOS and Windows builds with lightweight gates.
GUI release event gating and packaging
.github/workflows/gui-demo-release.yml
Narrows push triggers, adds pull-request compatibility gating, restricts non-release steps by event, and creates Windows archives explicitly with PowerShell.
Compatibility workflow and CI records
.github/workflows/gui-linux-compat.yml, docs/matterviz-spectrum-log.md, docs/matterviz-spectrum-todo.md
Restricts Rocky Linux compatibility builds, tests, and uploads by event, and records completed and pending CI streamlining work.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: retiring redundant legacy GUI validation in CI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/streamline-gui-checks

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/build.yml (1)

91-107: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Move the failure diagnostics after the clean-container test. The clean-container step runs after Summarize build failure and Upload Linux failure logs, so a failure there won’t be captured by these if: failure() handlers. Move them below that test or add equivalent diagnostics afterward.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/build.yml around lines 91 - 107, The failure-diagnostic
steps currently precede the clean-container test, so failures from that test are
not reported or uploaded. Move “Summarize build failure” and “Upload Linux
failure logs” to after the clean-container step, preserving their existing
failure conditions and behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/build.yml:
- Line 5: Update the push.branches filter in the workflow configuration to
include main alongside official-build and upstream-tracking, ensuring pushes to
main trigger the workflow.
- Around line 176-177: Update the checksum generation step after copying the
release artifact so SHA256SUMS.txt is created from within the release-assets
directory, recording asset basenames rather than release-assets/ path prefixes
while preserving the existing manifest output location.

---

Outside diff comments:
In @.github/workflows/build.yml:
- Around line 91-107: The failure-diagnostic steps currently precede the
clean-container test, so failures from that test are not reported or uploaded.
Move “Summarize build failure” and “Upload Linux failure logs” to after the
clean-container step, preserving their existing failure conditions and behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c5c5bd92-c7f9-43cf-a5ac-bacfe0de42c4

📥 Commits

Reviewing files that changed from the base of the PR and between 91ddfc2 and e910cba.

📒 Files selected for processing (3)
  • .github/workflows/build.yml
  • docs/matterviz-spectrum-log.md
  • docs/matterviz-spectrum-todo.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/matterviz-spectrum-log.md
  • docs/matterviz-spectrum-todo.md

Comment thread .github/workflows/build.yml
Comment thread .github/workflows/build.yml Outdated
@Stardust0831
Stardust0831 merged commit 690ec31 into main Jul 24, 2026
11 checks passed
@Stardust0831
Stardust0831 deleted the ci/streamline-gui-checks branch July 24, 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