From 0f880cd17fd05808821e7f3d161ff263b4bc08cf Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 27 Jul 2026 02:18:48 +0800 Subject: [PATCH 1/6] Update CI toolchain versions --- .github/workflows/compatibility_tests.yml | 4 +--- .github/workflows/compute.yml | 8 ++++---- .github/workflows/ios.yml | 8 ++------ .github/workflows/macos.yml | 6 +----- .github/workflows/oag_binary.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/ubuntu.yml | 4 ++-- .github/workflows/xcframework.yml | 2 +- Example/Project.swift | 9 +-------- Example/Tuist/Package.swift | 11 ++--------- Package.swift | 2 +- README.md | 2 +- Tuist/Package.swift | 2 +- 13 files changed, 19 insertions(+), 43 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 9dbaeed2..15002cd2 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -17,7 +17,7 @@ jobs: matrix: include: - os: macos-15 - xcode-version: "26.3" # Swift 6.2.4 + xcode-version: "26.6" # Swift 6.3.3 runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 @@ -49,9 +49,7 @@ 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: | diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index ec4c258d..4f9cec51 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -13,8 +13,8 @@ jobs: fail-fast: false matrix: # 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"] + # Keep this job on the current Swift 6.3 patch release. + swift_version: ["6.3.3"] runs-on: ubuntu-22.04 env: OPENATTRIBUTEGRAPH_WERROR: 1 @@ -37,7 +37,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] + xcode-version: ["26.6"] runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 @@ -63,7 +63,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] + xcode-version: ["26.6"] ios-version: ["18.5"] include: - ios-version: "18.5" diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 317e91c9..3bbd1f82 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] # Swift 6.2.4 + xcode-version: ["26.6"] # Swift 6.3.3 ios-version: ["18.5"] include: - ios-version: "18.5" @@ -52,7 +52,6 @@ jobs: - name: Build in debug mode on iOS run: | source Scripts/Tuist/common.sh - # Swift 6.2.4 crashes while indexing C++ interop test targets. tuist_xcodebuild \ "${RUNNER_TEMP:-/tmp}/openattributegraph-ios-build-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT:-0}.xcresult" \ build \ @@ -63,12 +62,10 @@ 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: | source Scripts/Tuist/common.sh - # Swift 6.2.4 crashes while indexing C++ interop test targets. tuist_xcodebuild \ "${RUNNER_TEMP:-/tmp}/openattributegraph-ios-test-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT:-0}.xcresult" \ test \ @@ -79,8 +76,7 @@ jobs: -enableCodeCoverage=YES \ -derivedDataPath .build-test-debug \ -skipPackagePluginValidation \ - -skipMacroValidation \ - COMPILER_INDEX_STORE_ENABLE=NO + -skipMacroValidation # OTHER_SWIFT_FLAGS="-warnings-as-errors" Conflicting options '-warnings-as-errors' and '-suppress-warnings' - name: Generate iOS coverage report run: | diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8d2946a7..4f0909b6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] # Swift 6.2.4 + xcode-version: ["26.6"] # Swift 6.3.3 runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 @@ -34,9 +34,7 @@ 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 @@ -46,9 +44,7 @@ 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 diff --git a/.github/workflows/oag_binary.yml b/.github/workflows/oag_binary.yml index 859d5431..a37bd3b4 100644 --- a/.github/workflows/oag_binary.yml +++ b/.github/workflows/oag_binary.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] + xcode-version: ["26.6"] runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ba757530..233cf42f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Xcode uses: OpenSwiftUIProject/setup-xcode@v2 with: - xcode-version: "26.3" + xcode-version: "26.6" - name: Set up mise uses: jdx/mise-action@v2 with: diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 45687ac2..d0d52ea2 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -13,8 +13,8 @@ jobs: fail-fast: false matrix: # 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"] + # Keep this job on the current Swift 6.3 patch release. + swift_version: ["6.3.3"] runs-on: ubuntu-22.04 env: OPENATTRIBUTEGRAPH_WERROR: 1 diff --git a/.github/workflows/xcframework.yml b/.github/workflows/xcframework.yml index d7d5d7b4..176cea87 100644 --- a/.github/workflows/xcframework.yml +++ b/.github/workflows/xcframework.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: [macos-15] - xcode-version: ["26.3"] # Swift 6.2.4 + xcode-version: ["26.6"] # Swift 6.3.3 runs-on: ${{ matrix.os }} env: GH_TOKEN: ${{ github.token }} diff --git a/Example/Project.swift b/Example/Project.swift index 5c3aec6e..ce75b319 100644 --- a/Example/Project.swift +++ b/Example/Project.swift @@ -1,13 +1,7 @@ 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", @@ -19,8 +13,7 @@ let project = Project( dependencies: [ .sdk(name: "c++", type: .library), .external(name: "OpenAttributeGraph"), - ], - settings: .settings(base: indexStoreDisabledSettings) + ] ), ] ) diff --git a/Example/Tuist/Package.swift b/Example/Tuist/Package.swift index 9384c666..694e5912 100644 --- a/Example/Tuist/Package.swift +++ b/Example/Tuist/Package.swift @@ -1,18 +1,11 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 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) -) +let packageSettings = PackageSettings() #endif let package = Package( diff --git a/Package.swift b/Package.swift index 941d6063..fde853f9 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import Foundation import PackageDescription diff --git a/README.md b/README.md index 4d640246..11e28401 100644 --- a/README.md +++ b/README.md @@ -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.2.4 / Xcode 26.3. +The current suggested toolchain to build the project is Swift 6.3.3 / Xcode 26.6. ### Clone Swift headers diff --git a/Tuist/Package.swift b/Tuist/Package.swift index fccb7e3b..582b73f4 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import PackageDescription #if TUIST From e33e42b874434665b028f72493870190657d1ef9 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 15 Aug 2026 15:21:01 +0800 Subject: [PATCH 2/6] Require Xcode 26.6 runner labels --- .github/workflows/compatibility_tests.yml | 4 +++- .github/workflows/compute.yml | 8 ++++++-- .github/workflows/ios.yml | 4 +++- .github/workflows/macos.yml | 4 +++- .github/workflows/oag_binary.yml | 4 +++- .github/workflows/release.yml | 4 +++- .github/workflows/xcframework.yml | 4 +++- 7 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 15002cd2..efeaf09a 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -18,7 +18,9 @@ jobs: include: - os: macos-15 xcode-version: "26.6" # Swift 6.3.3 - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 1 diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index 4f9cec51..f02d67b6 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -38,7 +38,9 @@ jobs: matrix: os: [macos-15] xcode-version: ["26.6"] - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 @@ -68,7 +70,9 @@ jobs: include: - ios-version: "18.5" ios-simulator-name: "iPhone 16 Pro" - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 3bbd1f82..ae168895 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -21,7 +21,9 @@ jobs: include: - ios-version: "18.5" ios-simulator-name: "iPhone 16 Pro" - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4f0909b6..f13fd2b8 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -14,7 +14,9 @@ jobs: matrix: os: [macos-15] xcode-version: ["26.6"] # Swift 6.3.3 - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 diff --git a/.github/workflows/oag_binary.yml b/.github/workflows/oag_binary.yml index a37bd3b4..211d69b1 100644 --- a/.github/workflows/oag_binary.yml +++ b/.github/workflows/oag_binary.yml @@ -14,7 +14,9 @@ jobs: matrix: os: [macos-15] xcode-version: ["26.6"] - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_OAG_USE_BINARY: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 233cf42f..9d569f0a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,9 @@ on: jobs: release: name: Build and Publish Release - runs-on: macos-15 + runs-on: + - macos-15 + - xcode-26.6 permissions: contents: write id-token: write diff --git a/.github/workflows/xcframework.yml b/.github/workflows/xcframework.yml index 176cea87..56ef57dc 100644 --- a/.github/workflows/xcframework.yml +++ b/.github/workflows/xcframework.yml @@ -17,7 +17,9 @@ jobs: matrix: os: [macos-15] xcode-version: ["26.6"] # Swift 6.3.3 - runs-on: ${{ matrix.os }} + runs-on: + - ${{ matrix.os }} + - xcode-26.6 env: GH_TOKEN: ${{ github.token }} steps: From 97a89d00e98d6a0fff05b003e05fd547065cb7e4 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 15 Aug 2026 20:21:26 +0800 Subject: [PATCH 3/6] Update DarwinPrivateFrameworks and Tuist --- Example/mise.toml | 2 +- Package.resolved | 11 ++++++++++- mise.toml | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Example/mise.toml b/Example/mise.toml index 8732ad26..fca2305c 100644 --- a/Example/mise.toml +++ b/Example/mise.toml @@ -1,2 +1,2 @@ [tools] -tuist = "4.203.1" +tuist = "4.203.4" diff --git a/Package.resolved b/Package.resolved index b375f05a..eaa98acb 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,6 +1,15 @@ { - "originHash" : "f9dba67a06993e034a027e1f7dac2f20c40df84b4ee6df328d5adb14de0fc0c8", + "originHash" : "c4ccda72589ac888395134589ceb70d0a1ffd78aa23c39f48ac96604e6230ce1", "pins" : [ + { + "identity" : "darwinprivateframeworks", + "kind" : "remoteSourceControl", + "location" : "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/OpenSwiftUIProject/DarwinPrivateFrameworks.git", + "state" : { + "branch" : "main", + "revision" : "b7e6ba165f3763dd477f55cc55b4a63f51385571" + } + }, { "identity" : "swift-numerics", "kind" : "remoteSourceControl", diff --git a/mise.toml b/mise.toml index 8732ad26..fca2305c 100644 --- a/mise.toml +++ b/mise.toml @@ -1,2 +1,2 @@ [tools] -tuist = "4.203.1" +tuist = "4.203.4" From f9a0682ac35e11cdac8ed5d18efa6983640b0517 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 15 Aug 2026 21:53:43 +0800 Subject: [PATCH 4/6] Remove redundant Swift version comments --- .github/workflows/compute.yml | 2 -- .github/workflows/ubuntu.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index f02d67b6..9024a523 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -12,8 +12,6 @@ jobs: strategy: fail-fast: false matrix: - # Swift 6.2.4 crashes swift-frontend when compiling C++ interop on Linux. - # Keep this job on the current Swift 6.3 patch release. swift_version: ["6.3.3"] runs-on: ubuntu-22.04 env: diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index d0d52ea2..a73ca5fb 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -12,8 +12,6 @@ jobs: strategy: fail-fast: false matrix: - # Swift 6.2.4 crashes swift-frontend when compiling C++ interop tests on Linux. - # Keep this job on the current Swift 6.3 patch release. swift_version: ["6.3.3"] runs-on: ubuntu-22.04 env: From 810a106219e4a4d8d7d1220de922af7fdcb64356 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 15 Aug 2026 22:22:07 +0800 Subject: [PATCH 5/6] Update tuist config --- Example/Tuist.swift | 7 ++++++- Tuist.swift | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Example/Tuist.swift b/Example/Tuist.swift index 81246c7a..82f67208 100644 --- a/Example/Tuist.swift +++ b/Example/Tuist.swift @@ -7,7 +7,12 @@ let tuist = Tuist( ), project: .tuist( generationOptions: .options( - enableCaching: Environment.isCI + optionalAuthentication: true, + enableCaching: Environment.isCI, + manifestEnvironment: [ + "OPENSWIFTUI_*", + "OPENATTRIBUTEGRAPH_*", + ] ) ) ) diff --git a/Tuist.swift b/Tuist.swift index fb0efdc2..82f67208 100644 --- a/Tuist.swift +++ b/Tuist.swift @@ -7,6 +7,7 @@ let tuist = Tuist( ), project: .tuist( generationOptions: .options( + optionalAuthentication: true, enableCaching: Environment.isCI, manifestEnvironment: [ "OPENSWIFTUI_*", From b9dce47f5f5b61285378979e73b1a67fc296f22d Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 15 Aug 2026 22:23:40 +0800 Subject: [PATCH 6/6] Update DPF --- Example/Tuist/Package.resolved | 2 +- Package.resolved | 9 --------- Scripts/CI/ag_setup.sh | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/Example/Tuist/Package.resolved b/Example/Tuist/Package.resolved index e8cf1f64..45416df9 100644 --- a/Example/Tuist/Package.resolved +++ b/Example/Tuist/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "b4d69cd3c6294a612f2691e0c9ace37d5e8c8904296914f23e337abb762050c2", + "originHash" : "0e11c80665facc8857be461b32388524b07fef00c5f983d5bf4ac0cf97629dc3", "pins" : [ { "identity" : "swift-numerics", diff --git a/Package.resolved b/Package.resolved index eaa98acb..1c35aafe 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,15 +1,6 @@ { "originHash" : "c4ccda72589ac888395134589ceb70d0a1ffd78aa23c39f48ac96604e6230ce1", "pins" : [ - { - "identity" : "darwinprivateframeworks", - "kind" : "remoteSourceControl", - "location" : "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/OpenSwiftUIProject/DarwinPrivateFrameworks.git", - "state" : { - "branch" : "main", - "revision" : "b7e6ba165f3763dd477f55cc55b4a63f51385571" - } - }, { "identity" : "swift-numerics", "kind" : "remoteSourceControl", diff --git a/Scripts/CI/ag_setup.sh b/Scripts/CI/ag_setup.sh index f2859649..76cbe005 100755 --- a/Scripts/CI/ag_setup.sh +++ b/Scripts/CI/ag_setup.sh @@ -6,7 +6,7 @@ filepath() { } REPO_ROOT="$(dirname $(dirname $(dirname $(filepath $0))))" -DARWINPRIVATEFRAMEWORKS_FALLBACK_REVISION="b0c3d94ff6b7200754ad2adf948fd3c6ebaef956" +DARWINPRIVATEFRAMEWORKS_FALLBACK_REVISION="b7e6ba165f3763dd477f55cc55b4a63f51385571" clone_checkout_ag() { cd $REPO_ROOT