fix(build): pin the native SwiftPM build system for the computer-use universal binary (#21146)

SwiftPM 6.4 (Xcode 27) defaults to the swiftbuild build system, which writes
products to an xcodebuild-style layout instead of .build/<triple>/release, so
the lipo step in build-computer-macos.mjs finds no inputs. Pass
--build-system native to both per-triple builds.

Fixes #21145
This commit is contained in:
eatmoreduck
2026-10-26 03:05:37 -07:00
committed by GitHub
parent 41c7167b03
commit 8d18f318d7
+12 -1
View File
@@ -29,7 +29,18 @@ createHelperApp()
function buildUniversalBinary() {
const builtBinaries = universalTriples.map((triple) => {
run('swift', ['build', '-c', 'release', '--package-path', packagePath, '--triple', triple])
// SwiftPM 6.4+ swiftbuild default skips the .build/<triple>/release layout lipo reads (#21145)
run('swift', [
'build',
'-c',
'release',
'--package-path',
packagePath,
'--triple',
triple,
'--build-system',
'native'
])
return path.join(packagePath, '.build', triple, 'release', 'orca-computer-use-macos')
})
mkdirSync(path.dirname(binaryPath), { recursive: true })