Repository navigation
Check the disk image, which is what is left after bundling and what ships - #33
Conversation
The check looked for Transcrate.app in the build directory. Tauri packs it into the .dmg and then deletes it — 'Cleaning .../Transcrate.app' is in the log, three lines above the step failing with 'no Transcrate.app was built'. It failed the release for v0.3.0 on a bundle that was correct. The local tests never caught it because they put the .app there by hand. The one thing they could not model was the step that removes it. Reading the .dmg instead is not a workaround. It is the file people download, and until now nothing had looked inside one. Tried against the disk image the failed run produced, pulled from the draft release: it passes. And against images built from it with a sidecar moved to Contents/Resources, a sidecar replaced after signing, a sidecar removed, and no application at all, each of which it refuses.
|
Warning Review limit reached
Next review available in: 70 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The seal check added in #31 failed the v0.3.0 release on a bundle that was
correct. This is that check, looking where the file actually is.
What happened
It searched the build directory for
Transcrate.app. Tauri packs the app intothe disk image and then deletes it:
Three lines later the step exits with
no Transcrate.app was built. Everythingbefore it — the build, the sidecars, the signing of each nested binary and then
of the bundle — had succeeded.
Why the tests missed it
There were eight of them, against a bundle built for the purpose, and every one
put the
.appin place by hand before running the step. The single thing theycould not model was the step that takes it away.
The disk image the failed run produced was still attached to the draft release.
Pulled down and opened, it holds
Transcrate.appwithffmpegandffprobeinContents/MacOS, andcodesign --verify --deep --strictreports it valid. Thebundle was never the problem.
The change
Mount the
.dmg, find the app inside it, and ask the same two questions ofthat: are the sidecars beside the executable, and does the seal hold.
This is not a way around the deletion. The disk image is the file people
download, and until now nothing in this pipeline had looked inside one.
Tried
Against the image from the failed run, and against images rebuilt from it with
one thing wrong each.
Contents/Resourcesnot beside the executable, and says where it isnested code is modified or invalidnot beside the executablethe disk image holds no applicationno disk image was builtRun under
/bin/bash3.2, as the runner has.After merging
The
v0.3.0tag and its draft are still where the failed run left them. Thedraft was never published, so both come down and the tag goes back on
main,for one clean run rather than a re-run against the old workflow.