Skip to content

Commit 0663ac4

Browse files
authored
Upgrade Compute to 0.1.0 and fix oagBinary build path (#219)
1 parent 7bdd424 commit 0663ac4

File tree

5 files changed

+55
-28
lines changed

5 files changed

+55
-28
lines changed

.github/workflows/oag_binary.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: OAG Binary
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
oag_binary_macos_build:
11+
name: Build with OAG binary on macOS
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [macos-15]
16+
xcode-version: ["16.4"]
17+
runs-on: ${{ matrix.os }}
18+
env:
19+
OPENATTRIBUTEGRAPH_WERROR: 1
20+
OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_OAG_USE_BINARY: 1
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
submodules: true
25+
- name: Setup Xcode
26+
uses: OpenSwiftUIProject/OpenSwiftUI/.github/actions/setup-xcode@main
27+
with:
28+
xcode-version: ${{ matrix.xcode-version }}
29+
- name: Build in debug mode
30+
run: swift build -c debug

Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,6 @@ let package = Package(
365365
products: [
366366
.library(
367367
name: "OpenAttributeGraphShims",
368-
type: .dynamic,
369368
targets: [openAttributeGraphShimsTarget.name]
370369
)
371370
],
@@ -400,10 +399,9 @@ func setupDPFDependency() {
400399
if computeCondition {
401400
let computeBinary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY", default: false)
402401
if computeBinary {
403-
let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.0.1")
404-
// TODO: Use upstream link when avaiable. Tracked on https://github.com/jcmosc/Compute/issues/20
405-
let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/Kyle-Ye/Compute/releases/download/\(version)/Compute.xcframework.zip")
406-
let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "95a256da2055d7c73184aeb9be088ba7019f7ea79b8a31e2dd930526c5ccbe8f")
402+
let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.1.0")
403+
let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/jcmosc/Compute/releases/download/\(version)/Compute.xcframework.zip")
404+
let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "e32dd27fa4df4928be69d4171bcb3d47192bebb467f70bfd728cca56d44682d6")
407405
package.targets.append(
408406
.binaryTarget(
409407
name: "Compute",
@@ -416,8 +414,7 @@ if computeCondition {
416414
if useLocalDeps {
417415
computeRepo = Package.Dependency.package(path: "../Compute")
418416
} else {
419-
// TODO: No release tag or branch yet.
420-
computeRepo = Package.Dependency.package(url: "https://github.com/jcmosc/Compute", revision: "34c5af92008a2db18e8b598fb426e3e2872e752c")
417+
computeRepo = Package.Dependency.package(url: "https://github.com/jcmosc/Compute", exact: "0.1.0")
421418
}
422419
package.dependencies.append(computeRepo)
423420
}
@@ -429,47 +426,50 @@ if computeCondition {
429426
} else {
430427
let oagBinary = envBoolValue("OPENATTRIBUTESHIMS_OAG_USE_BINARY", default: false)
431428
if oagBinary {
432-
let version = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_VERSION", default: "0.4.0")
429+
let version = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_VERSION", default: "0.5.0")
433430
let url = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_URL", default: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph/releases/download/\(version)/OpenAttributeGraph.xcframework.zip")
434-
let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "a539f876625288d4af7c7d1dccc80fd8e936058791b8071e0d534f5ec1a8a068")
431+
let checksum = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_CHECKSUM", default: "ac7d8cb7cfd917b9f1768dc18dfea74b1ed64ce96d2424ba8c557e70736674ff")
435432
let target = Target.binaryTarget(
436433
name: openAttributeGraphTarget.name,
437434
url: url,
438435
checksum: checksum
439436
)
440437
package.targets.append(target)
438+
package.products.append(
439+
.library(name: "OpenAttributeGraph", targets: [openAttributeGraphTarget.name])
440+
)
441441
} else {
442442
package.targets.append(contentsOf: [
443443
platformTarget,
444444
utilitiesTarget,
445445
openAttributeGraphTarget,
446446
openAttributeGraphCxxTarget,
447447
])
448-
}
449-
openAttributeGraphShimsTarget.dependencies.append(.target(name: openAttributeGraphTarget.name))
450-
451-
if buildForDarwinPlatform {
452-
package.targets.append(openAttributeGraphCompatibilityTestsTarget)
453-
package.dependencies.append(
454-
.package(url: "https://github.com/apple/swift-numerics", from: "1.1.1")
448+
package.products.append(
449+
.library(name: "OpenAttributeGraph", targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name])
455450
)
456451
}
452+
openAttributeGraphShimsTarget.dependencies.append(.target(name: openAttributeGraphTarget.name))
457453

458-
package.products.append(
459-
.library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name])
454+
package.targets.append(openAttributeGraphCompatibilityTestsTarget)
455+
package.dependencies.append(
456+
.package(url: "https://github.com/apple/swift-numerics", from: "1.1.1")
460457
)
458+
461459
if compatibilityTestCondition, buildForDarwinPlatform {
462460
setupDPFDependency()
463461
openAttributeGraphCompatibilityTestsTarget.addAGSettings()
464462
} else {
465463
openAttributeGraphCompatibilityTestsTarget.dependencies.append(
466464
.target(name: openAttributeGraphTarget.name)
467465
)
468-
package.targets += [
469-
utilitiesTestsTarget,
470-
openAttributeGraphCxxTestsTarget,
471-
openAttributeGraphShimsTestsTarget,
472-
]
466+
if !oagBinary {
467+
package.targets += [
468+
utilitiesTestsTarget,
469+
openAttributeGraphCxxTestsTarget,
470+
openAttributeGraphShimsTestsTarget,
471+
]
472+
}
473473
package.platforms = [.iOS(.v13), .macOS(.v10_15), .macCatalyst(.v13), .tvOS(.v13), .watchOS(.v5)]
474474
}
475475
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Add OpenAttributeGraph as a dependency in your `Package.swift`:
3333

3434
```swift
3535
dependencies: [
36-
.package(url: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph.git", from: "0.2.0")
36+
.package(url: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph.git", from: "0.5.0")
3737
]
3838
```
3939

Scripts/CI/linux_compute_build.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ filepath() {
88
REPO_ROOT="$(dirname $(dirname $(dirname $(filepath $0))))"
99
cd $REPO_ROOT
1010

11-
# Fix SSH submodule checkout failure for git@github.com:jcmosc/swift-runtime-headers.git
12-
git config --global url."https://github.com/".insteadOf "git@github.com:"
13-
1411
# Install Linux dependencies
1512
apt-get update
1613
apt-get install -y libssl-dev

0 commit comments

Comments
 (0)