feat(release): ship Windows-only prereleases - #20
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe release path now accepts ChangesScoped release support
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Operator
participant PrereleaseWorkflow
participant NativeBuilds
participant ReleaseCLI
participant ReleaseAdmission
participant GitHubRelease
Operator->>PrereleaseWorkflow: select release_scope
PrereleaseWorkflow->>NativeBuilds: build selected platform lanes
NativeBuilds-->>PrereleaseWorkflow: return selected artifacts
PrereleaseWorkflow->>ReleaseCLI: pass release scope and optional macOS allowlist
ReleaseCLI->>ReleaseAdmission: prepare and verify scoped release
ReleaseAdmission-->>PrereleaseWorkflow: return release index
PrereleaseWorkflow->>GitHubRelease: upload and compare selected assets
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
scripts/lib/super-synara-workflow-contract.ts (1)
647-659: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winDocument the allowlist count breakdown
The 3/3/4 occurrence checks are easy to misread; add a short comment explaining where each match comes from so later workflow edits don’t accidentally break the gate.
🤖 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 `@scripts/lib/super-synara-workflow-contract.ts` around lines 647 - 659, Add a concise comment immediately before the occurrence checks in the validation block around scopedAllowlistCondition, scopedAllowlistPath, and the macos_allowlist_args matches, documenting the expected 3/3/4 counts and what workflow sections each count represents. Keep the existing validation logic and error behavior unchanged.
🤖 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 `@scripts/lib/super-synara-workflow-contract.ts`:
- Around line 116-151: Update verifyReleaseScopeCase after constructing
expectedArms to reject any unexpected or extra case arms, including catch-all
arms, by validating that the parsed arms exactly match the expected arm set and
count. Preserve the existing command validation for WINDOWS_RELEASE_SCOPE and
MACOS_RELEASE_SCOPE, and fail closed before accepting the contract.
---
Nitpick comments:
In `@scripts/lib/super-synara-workflow-contract.ts`:
- Around line 647-659: Add a concise comment immediately before the occurrence
checks in the validation block around scopedAllowlistCondition,
scopedAllowlistPath, and the macos_allowlist_args matches, documenting the
expected 3/3/4 counts and what workflow sections each count represents. Keep the
existing validation logic and error behavior unchanged.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: f8ee63a0-6e34-44aa-8585-0ad511c7e932
📒 Files selected for processing (5)
docs/plans/super-synara-local-feasibility.mdscripts/lib/super-synara-workflow-contract.test.tsscripts/lib/super-synara-workflow-contract.tsscripts/prepare-super-synara-release.test.tsscripts/prepare-super-synara-release.ts
🚧 Files skipped from review as they are similar to previous changes (4)
- scripts/lib/super-synara-workflow-contract.test.ts
- scripts/prepare-super-synara-release.test.ts
- scripts/prepare-super-synara-release.ts
- docs/plans/super-synara-local-feasibility.md
There was a problem hiding this comment.
All reported issues were addressed across 5 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
Summary
Verification
Planned first dispatch
Summary by cubic
Default prereleases now ship Windows-only with a selectable
release_scope; macOS is optional and runs only in the combined scope. Publication is fully scope-aware with a bound metadata flow and fail-closed gates that enforce exact scoped assets, policies, and docs.New Features
release_scopeinput (defaultwindows-only) that bindsinclude_macosandasset_count; prepare/verify require--release-scopeand only pass--mac-signature-allowlistforwindows-and-macos.release-index.jsonplatforms andUNSIGNED-BUILD.mdadapt to scope; docs updated to Windows-first.Bug Fixes
release_scope/include_macos/asset_count, publish job condition gates exactly over selected lanes, downloads macOS only when combined, and enforces exact asset counts on upload/redownload.*; forbid macOS assets/allowlist in Windows-only and require the allowlist only in combined; block prohibited files; new CLI/tests cover scope parsing, gating, and data-flow checks.Written for commit 0771991. Summary will update on new commits.
Summary by CodeRabbit