fix(tvos): route precompiled tvOS bundle to the sign worker (needs_finishing)#4
Open
proggeramlug wants to merge 4 commits into
Open
fix(tvos): route precompiled tvOS bundle to the sign worker (needs_finishing)#4proggeramlug wants to merge 4 commits into
proggeramlug wants to merge 4 commits into
Conversation
Pairs with the perry compiler's new linux-arm64 target so this worker
can produce aarch64 Linux server binaries (e.g. for an AWS Lambda
arm64 matrix), alongside the existing x86_64 linux target.
- BuildTarget::LinuxArm64 variant; determine_target maps
"linux-arm64"/"linux-aarch64" to it.
- compiler_target = Some("linux-arm64") so perry gets --target and
cross-compiles (unlike native x86_64 linux which passes no --target).
Falling through to BuildTarget::Linux would have silently produced an
x86_64 binary.
- Packaging reuses run_linux_pipeline (the binary is just aarch64).
- compiler.rs: cross env for cc-rs (CC/CXX/AR_aarch64_unknown_linux_gnu
+ cargo linker var) so user-project native C/C++ deps build for
aarch64. The build container must provide gcc-aarch64-linux-gnu.
- Advertise "linux-arm64" capability so the hub routes such jobs here.
#16 tagged the tvOS artifact as ios-precompiled (so the .app cross-built
on Linux gets signed -> .ipa -> App Store Connect on the macOS sign
worker), but the build-complete message's needs_finishing match only
covered windows/ios/macos -> tvOS fell through to None. The hub then
treated the tvOS build as fully done and never dispatched the sign step,
so the publish hung waiting for a signed artifact that never came.
Add "tvos" => Some("ios") so tvOS finishes via the same ios-sign path
its precompiled bundle is already routed to (verified: iOS signs fine on
that worker; tvOS now follows the identical hand-off).
…n jobs Emit needs_finishing tvos/watchos (not flatten to ios) so the hub creates tvos-sign / watchos-sign jobs; the macOS sign worker now has dedicated TvosSign/WatchosSign pipelines (skip iOS icon mangling, altool --type tvos). Supersedes the earlier ios-routing stopgap.
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.
Summary
tvOS builds linked and uploaded their precompiled
.appbundle but the publish then hung forever waiting for a signed artifact that never arrived.#16 tagged the tvOS artifact as
ios-precompiled(correct — the Linux-cross-built.appis signed →.ipa→ App Store Connect on the macOS sign worker). But the build-complete message'sneeds_finishingmatch only coveredwindows/ios/macos:So tvOS reported
None; the hub treated the build as fully done and never dispatched the sign step. The CLI waited indefinitely for a signed result.Fix
tvOS finishes via the same
ios-signpath its precompiled bundle is already routed to. Verified in production: iOS signs + uploads to TestFlight fine on that worker; with this line tvOS follows the identical hand-off.(Found while getting the first tvOS TestFlight build through — the libc++ cross-link fix made tvOS link; this makes it sign.)