Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/compatibility_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
matrix:
include:
- os: macos-15
xcode-version: "16.4" # Swift 6.1.2
xcode-version: "26.3" # Swift 6.2.4
runs-on: ${{ matrix.os }}
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand All @@ -36,7 +36,9 @@ jobs:
shell: bash
- name: Run tests against Apple's AttributeGraph on macOS via SwiftPM
run: |
# Swift 6.2.4 crashes while indexing C++ interop test targets.
swift test \
--disable-index-store \
--build-path .build-compatibility-test-debug
- name: Run tests against Apple's AttributeGraph on macOS via Xcode
run: |
Expand All @@ -46,4 +48,4 @@ jobs:
-sdk macosx \
-destination "platform=macOS" \
-skipPackagePluginValidation \
-skipMacroValidation
-skipMacroValidation
8 changes: 5 additions & 3 deletions .github/workflows/compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ jobs:
strategy:
fail-fast: false
matrix:
swift_version: ["6.2"]
# Swift 6.2.4 crashes swift-frontend when compiling C++ interop on Linux.
# Swift 6.3.2 has been verified locally on Linux.
swift_version: ["6.3.2"]
runs-on: ubuntu-22.04
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand All @@ -36,7 +38,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"]
xcode-version: ["26.3"]
runs-on: ${{ matrix.os }}
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand All @@ -59,7 +61,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"]
xcode-version: ["26.3"]
ios-version: ["18.5"]
include:
- ios-version: "18.5"
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"] # Swift 6.1.2
xcode-version: ["26.3"] # Swift 6.2.4
ios-version: ["18.5"]
include:
- ios-version: "18.5"
Expand All @@ -38,6 +38,7 @@ jobs:
shell: bash
- name: Build in debug mode on iOS
run: |
# Swift 6.2.4 crashes while indexing C++ interop test targets.
xcodebuild build \
-workspace .swiftpm/xcode/package.xcworkspace \
-scheme OpenAttributeGraph-Package \
Expand All @@ -46,9 +47,11 @@ jobs:
-derivedDataPath .build-debug \
-skipMacroValidation \
-skipPackagePluginValidation \
COMPILER_INDEX_STORE_ENABLE=NO \
OTHER_SWIFT_FLAGS="-warnings-as-errors"
- name: Build and run tests in debug mode with coverage on iOS Simulator
run: |
# Swift 6.2.4 crashes while indexing C++ interop test targets.
xcodebuild test \
-workspace .swiftpm/xcode/package.xcworkspace \
-scheme OpenAttributeGraph-Package \
Expand All @@ -57,7 +60,8 @@ jobs:
-enableCodeCoverage=YES \
-derivedDataPath .build-test-debug \
-skipPackagePluginValidation \
-skipMacroValidation
-skipMacroValidation \
COMPILER_INDEX_STORE_ENABLE=NO
# OTHER_SWIFT_FLAGS="-warnings-as-errors" Conflicting options '-warnings-as-errors' and '-suppress-warnings'
- name: Generate iOS coverage report
run: |
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"] # Swift 6.1.2
xcode-version: ["26.3"] # Swift 6.2.4
Comment thread
Kyle-Ye marked this conversation as resolved.
runs-on: ${{ matrix.os }}
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand All @@ -34,7 +34,9 @@ jobs:
shell: bash
- name: Build and run tests in debug mode with coverage
run: |
# Swift 6.2.4 crashes while indexing C++ interop test targets.
swift test \
--disable-index-store \
-c debug \
--enable-code-coverage \
--build-path .build-test-debug
Expand All @@ -44,7 +46,9 @@ jobs:
> coverage.txt
- name: Build and run tests in release mode
run: |
# Swift 6.2.4 crashes while indexing C++ interop test targets.
swift test \
--disable-index-store \
-c release \
--enable-code-coverage \
--build-path .build-test-release
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/oag_binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"]
xcode-version: ["26.3"]
runs-on: ${{ matrix.os }}
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup Xcode
uses: OpenSwiftUIProject/setup-xcode@v2
with:
xcode-version: "16.4"
xcode-version: "26.3"
- name: Build XCFramework
run: ./Scripts/build_xcframework.sh
- name: Compute Checksum
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ jobs:
strategy:
fail-fast: false
matrix:
swift_version: ["6.1.3"]
# Swift 6.2.4 crashes swift-frontend when compiling C++ interop tests on Linux.
# Swift 6.3.2 has been verified locally on Linux.
swift_version: ["6.3.2"]
runs-on: ubuntu-22.04
env:
OPENATTRIBUTEGRAPH_WERROR: 1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/xcframework.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.4"] # Swift 6.1.2
xcode-version: ["26.3"] # Swift 6.2.4
runs-on: ${{ matrix.os }}
env:
GH_TOKEN: ${{ github.token }}
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "Checkouts/swift"]
path = Checkouts/swift
url = https://github.com/OpenSwiftUIProject/swift-runtime-headers.git
branch = release/6.1
branch = release/6.2
2 changes: 1 addition & 1 deletion .swiftformat
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenAttributeGraph SwiftFormat configuration

# Swift version
--swiftversion 6.1
--swiftversion 6.2

# Indentation
--indent 4
Expand Down
2 changes: 1 addition & 1 deletion Checkouts/swift
Submodule swift updated 339 files
9 changes: 8 additions & 1 deletion Example/Project.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import ProjectDescription

let indexStoreDisabledSettings: SettingsDictionary = [
// Swift 6.2.4 crashes while indexing C++ interop package targets.
"COMPILER_INDEX_STORE_ENABLE": "NO",
]

let project = Project(
name: "Example",
settings: .settings(base: indexStoreDisabledSettings),
targets: [
.target(
name: "Example",
Expand All @@ -13,7 +19,8 @@ let project = Project(
dependencies: [
.sdk(name: "c++", type: .library),
.external(name: "OpenAttributeGraph"),
]
],
settings: .settings(base: indexStoreDisabledSettings)
),
]
)
15 changes: 15 additions & 0 deletions Example/Tuist/Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 15 additions & 1 deletion Example/Tuist/Package.swift
Original file line number Diff line number Diff line change
@@ -1,10 +1,24 @@
// swift-tools-version: 6.1
// swift-tools-version: 6.2

import PackageDescription

#if TUIST
import ProjectDescription

let indexStoreDisabledSettings: SettingsDictionary = [
// Swift 6.2.4 crashes while indexing C++ interop package targets.
"COMPILER_INDEX_STORE_ENABLE": "NO",
]

let packageSettings = PackageSettings(
baseSettings: .settings(base: indexStoreDisabledSettings)
)
#endif

let package = Package(
name: "ExampleDependencies",
dependencies: [
.package(path: "../../"),
.package(url: "https://github.com/apple/swift-numerics", from: "1.1.1"),
]
)
2 changes: 2 additions & 0 deletions Example/mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[tools]
tuist = "4.193.0"
11 changes: 11 additions & 0 deletions Example/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"

cd "$SCRIPT_DIR"
mise trust "$SCRIPT_DIR/mise.toml"
mise install
mise exec -- tuist install
mise exec -- tuist generate --no-open
2 changes: 1 addition & 1 deletion Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version: 6.1
// swift-tools-version: 6.2

import Foundation
import PackageDescription
Expand Down Expand Up @@ -430,9 +430,9 @@ func setupDPFDependency() {
if computeCondition {
let computeBinary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY", default: false)
if computeBinary {
let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.1.0")
let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.2.1")
let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/jcmosc/Compute/releases/download/\(version)/Compute.xcframework.zip")
let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "e32dd27fa4df4928be69d4171bcb3d47192bebb467f70bfd728cca56d44682d6")
let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "44eb3f08b9da4e7e308bfb2654b36e6752547e8ba5ec33e19e0648c686990153")
package.targets.append(
.binaryTarget(
name: "Compute",
Expand All @@ -445,7 +445,7 @@ if computeCondition {
if useLocalDeps {
computeRepo = Package.Dependency.package(path: "../Compute")
} else {
computeRepo = Package.Dependency.package(url: "https://github.com/jcmosc/Compute", exact: "0.1.0")
computeRepo = Package.Dependency.package(url: "https://github.com/jcmosc/Compute", exact: "0.2.1")
}
package.dependencies.append(computeRepo)
}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ For a simpler setup, you can use the prebuilt XCFramework available on the [rele

## Build

The current suggested toolchain to build the project is Swift 6.1.2 / Xcode 16.4.
The current suggested toolchain to build the project is Swift 6.2.4 / Xcode 26.3.

### Clone Swift headers

Expand Down
8 changes: 5 additions & 3 deletions Scripts/CI/ag_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@ filepath() {
}

REPO_ROOT="$(dirname $(dirname $(dirname $(filepath $0))))"
DARWINPRIVATEFRAMEWORKS_FALLBACK_REVISION="b0c3d94ff6b7200754ad2adf948fd3c6ebaef956"

clone_checkout_ag() {
cd $REPO_ROOT
revision=$(Scripts/CI/get_revision.sh darwinprivateframeworks)
if ! revision=$(Scripts/CI/get_revision.sh darwinprivateframeworks 2>/dev/null); then
revision="$DARWINPRIVATEFRAMEWORKS_FALLBACK_REVISION"
echo "No pinned revision for DarwinPrivateFrameworks, using fallback revision: $revision"
fi
cd ..
if [ ! -d DarwinPrivateFrameworks ]; then
gh repo clone OpenSwiftUIProject/DarwinPrivateFrameworks
Expand All @@ -23,8 +27,6 @@ clone_checkout_ag() {
fi
if [ -n "$revision" ]; then
git checkout --quiet "$revision"
else
echo "No pinned revision for DarwinPrivateFrameworks, using default branch."
fi
}

Expand Down
4 changes: 4 additions & 0 deletions Tests/OpenAttributeGraphTestsSupport/DataHelper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ public struct Tuple<A, B> {
}
}

extension Tuple: Sendable where A: Sendable, B: Sendable {}

public struct Triple<A, B, C> {
public var first: A
public var second: B
Expand All @@ -23,3 +25,5 @@ public struct Triple<A, B, C> {
self.third = third
}
}

extension Triple: Sendable where A: Sendable, B: Sendable, C: Sendable {}
2 changes: 1 addition & 1 deletion Tuist/Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version: 6.1
// swift-tools-version: 6.2
import PackageDescription

#if TUIST
Expand Down
Loading