fix(release): restore Super macOS CI - #3
Merged
Conversation
📝 WalkthroughWalkthroughChangesThe pull request adds a reusable Electron smoke-process supervisor with timed observation, graceful and forced teardown, output diagnostics, POSIX and Windows handling, and lifecycle tests. It also makes macOS update ZIP finalization conditional on updates being enabled. Desktop smoke lifecycle
Desktop artifact finalization
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant SmokeTest
participant Electron
participant Supervisor
participant Taskkill
SmokeTest->>Electron: Spawn with filtered smoke environment
SmokeTest->>Supervisor: Supervise child process
Electron-->>Supervisor: Emit output and lifecycle events
Supervisor->>Electron: Send graceful or forced signal
Supervisor->>Taskkill: Terminate Windows process tree
Taskkill-->>Supervisor: Return teardown confirmation
Supervisor-->>SmokeTest: Return status, output, failures, diagnostics
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
slashdevcorpse
marked this pull request as ready for review
July 19, 2026 17:22
There was a problem hiding this comment.
All reported issues were addressed across 6 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
This was referenced Jul 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
taskkill /T /Fand require tree confirmation.VITE_DEV_SERVER_URLcase-insensitively from the smoke environment.Why
Super Synara intentionally disables updates, so electron-builder emits no macOS update manifest. The artifact builder nevertheless ran the updater-only ZIP finalizer and failed after producing the DMG and ZIP.
After that repair, the macOS job exposed a separate pre-existing smoke teardown defect: the old script killed only the CLI wrapper and waited forever while Electron and its helpers remained alive. A first bounded supervisor still allowed a POSIX helper to escape when the leader closed after TERM; the final implementation keeps the group teardown alive through KILL. The Windows smoke path also inherited an empty dev-server URL and could treat a backend startup failure as a pass.
This keeps updater validation strict for normal builds while making disabled-update packaging and cross-platform smoke teardown deterministic.
Impact
Protected CI can build the unsigned Super Synara DMG without weakening normal updater validation, and desktop smoke checks now terminate the complete process tree within a fixed bound on macOS and Windows.
Validation
d69f252e: quality, windows_x64, macos_arm64, and release_smoke all passed: https://github.com/slashdevcorpse/synara/actions/runs/29697049171Checklist
Summary by CodeRabbit