refactor(release): stage every ToDesktop target from one loop, test the rule - #1506
Open
benceruleanlu wants to merge 1 commit into
Open
benceruleanlu wants to merge 1 commit into
benceruleanlu wants to merge 1 commit into
Conversation
|
Warning Review limit reachedNext included review available in 42 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
Comment |
…he rule The Linux staging repeated the Windows loop body in a different style, and the tests pinned that shell line verbatim plus the exact electron-builder path string — so quoting a path or folding the two together broke the suite while the release was untouched, and the assertions never checked that the paths todesktop.json declares are the ones CI stages. Fold both into a single source:target loop (verified to produce a byte-identical tree) and replace the text pins with the rules that matter: every architecture of a platform shares a resource shape, each target sources from the staging directory named after it, and every declared target is staged by the workflow. The middle rule is what catches an architecture reaching into another one's directory, on Windows as well as Linux — neither platform had that covered. Renamed off the arm64 prefix now that it covers every platform.
benceruleanlu
force-pushed
the
bl/arm64-staging-loop-and-invariants
branch
from
September 9, 2026 01:33
588bea0 to
2b9c6a5
Compare
benceruleanlu
removed this pull request from stack #1510
September 9, 2026 01:34
benceruleanlu
added this pull request to stack #1513
September 9, 2026 01:34
This branch has not been deployed
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.
Part of a stack of review fixes for #1486. Based on #1505.
Summary
The Linux staging added in #1486 repeated the Windows loop body in a different style, and the tests pinned that shell line verbatim along with the exact electron-builder path string. Quoting a path or folding the two together broke the suite while the release was untouched, and the assertions never checked the thing that matters: that the paths
todesktop.jsondeclares are the ones CI stages.Feature behavior
Staging folds into a single
source:targetloop, with the ARM64 placeholder remaining the one special case. Verified to produce a byte-identical tree to the previous version by running both against the same fixture and diffing.Test coverage and validation
The literal pins are replaced with the rules that actually govern packaging, each checked for every platform rather than Linux alone:
bootstrap-pythoneither way. Verified by pointing Windows ARM64 atwindows-x64and Linux ARM64 atlinux-x64: both fail.todesktop.jsonis staged by the release workflow. Verified by adding an unstaged target: it fails.--to themvin the workflow, a behaviour-preserving change, keeps all tests passing. The previous suite failed on it.${arch}macro and no hardcoded architecture, rather than one exact string.The file is renamed off the
arm64prefix now that it covers every platform. Full unit suite: 274 files, 4736 passed, 2 skipped. Typecheck, lint and format pass.Change breakdown
Total changed lines: 274 (174 added, 100 deleted).
Product code
Test code
Documentation
Configuration and CI
Generated files
Lockfiles
Vendored code