Repository navigation
fix(desktop): Windows, macOS and Linux release builds, PR coverage for them, release 0.21.1 - #1382
Merged
Merged
Conversation
Git on Windows checks files out with CRLF, and the Cargo.toml and Cargo.lock version patterns required LF, so prepare_release.py raised "could not rewrite package version" and the Windows engine tests failed on main (job 118266645919). The patterns now accept CRLF and keep each line's ending. A new test converts every version file to CRLF, so the Linux lane catches this too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The macOS sidecar and installer builds stopped with "pyobjc-core has no concrete license/NOTICE file" (jobs 118267947313, 118267947454). The lock moved pyobjc-core to 12.2.2 and added pyobjc-framework-CoreMedia and -ScreenCaptureKit 12.2.2, and none of those wheels ships a license file, while the reviewed records covered only 12.2.1. Upstream's License.txt for all three at tag v12.2.2 (commit 38cdf73) is byte-identical to the vendored third_party/pyobjc/LICENSE.txt (SHA-256 0ca04b07...), and each wheel's license metadata is the reviewed "MIT". The records pin the source URL, commit, text hash and metadata hash per version, as for 12.2.1. The check itself is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ell compiles tauri-plugin-deep-link 2.6.2 builds rust-ini's ParseOption without the two fields rust-ini 0.21.3 added, so the Linux installer failed to compile (job 118267947408). #1324 took 2.6.2 with tauri-plugin-single-instance 2.5.4, which requires it. Both go back to the versions main built before (2.6.1 and 2.5.3). The Dependabot note now says to build the Linux installer before taking a plugin bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Three of main's desktop failures ran only on main, so no pull request could catch them. A pull request that touches Desktop now also runs: - the Python engine tests on Windows (Python 3.12); - the frozen sidecar build on macOS 14, where the PyObjC notices are checked; - the Linux installer, when it changes src-tauri/, package.json or package-lock.json. The native matrix is now built by the artifact-scope job, so a pull request can take only the Linux entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d out CRLF Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
This prepares Desktop 0.21.1. Merging it starts that release, so the founder approves the merge. 0.21.0 (39112b7) was never published: main's desktop matrix failed on it (Packages run 39306955258), and the release gate requires that matrix to pass. The 0.21.1 changelog section says so.
Fixes
Cargo.tomlandCargo.lockversion patterns innative_release.set_native_versionrequired LF. Soprepare_release.pyraised "could not rewrite package version". The patterns now accept CRLF and keep each line's ending. A new test,test_prepare_works_on_a_crlf_checkout, converts every version file to CRLF, so the Linux lane catches this too. It fails without the fix.pyobjc-core12.2.2 and addedpyobjc-framework-CoreMediaand-ScreenCaptureKit12.2.2. None of these wheels ships a license file, and the reviewed records covered only 12.2.1. Three records now cover them; the check itself is unchanged.License.txtfor all three at tagv12.2.2(commit38cdf73fc049ef2d176973eff4ac8d5c76b0a34b) is byte-identical to the vendoredthird_party/pyobjc/LICENSE.txt(MIT, SHA-2560ca04b07…).MIT), as for 12.2.1.third_party/README.mdlists the new versions.tauri-plugin-deep-link2.6.2 buildsrust-ini'sParseOptionwithout the two fieldsrust-ini0.21.3 added, so it doesn't compile on Linux. I took 2.6.2 in build(desktop): bump Tauri on the npm and cargo sides together; Dependabot leaves paired pins alone #1324, together withtauri-plugin-single-instance2.5.4, which requires it.dependabot.ymlnow says to build the Linux installer before taking a Tauri plugin bump.So this can't hide again
These jobs ran only on main. Now a pull request that touches Desktop also runs:
src-tauri/,package.jsonorpackage-lock.json. This would have caught the deep-link failure.The native-installer matrix is now built by the
artifact-scopejob: all four platforms on main and dispatch, and Linux only on a pull request.classify_build_changes.pytakes a PR's changed paths from the merge commit's first parent. Its tests cover the new rule.This PR changes
src-tauri/Cargo.lock, so its own CI should run the Windows tests, the macOS sidecar and the Linux installer.Tests
🤖 Generated with Claude Code