Repository navigation
fix(build): build and test on the Swift 6.4 toolchain - #38
Merged
Merged
Conversation
Swift 6.4 broke both local entry points: - `make bundle` failed: the Swift Build backend writes products to .build/out/Products/Release, so the hard-coded .build/<triple>/release glob matched nothing and the loop's trailing `[ -d ] &&` returned 1. Copy from the .build/release symlink, which resolves under both backends, and skip test resource bundles, which the new backend now builds in release. - The test target no longer compiled: 6.4 refuses an actor conforming to a main-actor-isolated protocol, and FakeTranscriptionService is one. Declare TranscriptionServicing nonisolated; its requirements stay @Concurrent.
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.
Swift 6.4 (Xcode with the macOS 27 SDK) broke both local entry points.
make bundlefailed. The Swift Build backend writes products to.build/out/Products/Release, so the hard-coded.build/arm64-apple-macosx/release/*.bundleglob matched nothing. The loop's trailing[ -d ] &&then returned 1 and failed the target. It now copies from the.build/releasesymlink, which resolves under both backends, guards withif, and skips*Tests.bundle, which the new backend builds even in release.The test target did not compile. Swift 6.4 refuses an
actorconforming to a main-actor-isolated protocol, andFakeTranscriptionServiceis one.TranscriptionServicingis now declarednonisolated, and its requirements stay@concurrent.AGENTS.mdanddocs/specification.mdare updated to say it carries both annotations.Verified on Swift 6.4 locally:
make test-unitpasses (153 tests), andmake bundlenow bundlesDTLNAecCoreML_DTLNAec256.bundleand signs with the Developer ID. The four hardware smoke tests could not run here because the shell's host app has no Screen Recording grant; they fail onCGPreflightScreenCaptureAccess()in the test process. CI runs them.Release notes
Internal: the app builds and its tests compile on the Swift 6.4 toolchain.