From d4146cc03762280189c398cef6ec7334b2f416ee Mon Sep 17 00:00:00 2001 From: Marc Prud'hommeaux Date: Fri, 8 May 2026 15:24:57 -0400 Subject: [PATCH 1/3] Fix AndroidBundle for upcoming Swift 6.4 changes to resource_bundle_accessor.swift --- .github/workflows/ci.yml | 3 ++- Sources/SkipAndroidBridge/AndroidBundle.swift | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ccdbede..7b7b0d7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,4 +14,5 @@ permissions: jobs: call-workflow: uses: skiptools/actions/.github/workflows/skip-framework.yml@v1 - + with: + swift-android-sdk-version: "['', 'nightly-main']" diff --git a/Sources/SkipAndroidBridge/AndroidBundle.swift b/Sources/SkipAndroidBridge/AndroidBundle.swift index 09719f5..67827b2 100644 --- a/Sources/SkipAndroidBridge/AndroidBundle.swift +++ b/Sources/SkipAndroidBridge/AndroidBundle.swift @@ -50,16 +50,19 @@ open class AndroidBundle : Foundation.Bundle, @unchecked Sendable { super.init(path: Foundation.Bundle.main.bundlePath)! } - // These inits require 'override' on Android but not iOS or ROBOLECTRIC + // These inits require 'override' on Android but not iOS or ROBOLECTRIC. + // They must not be marked unavailable because the auto-generated + // resource_bundle_accessor.swift (produced by the swiftbuild build system) + // calls Bundle(for: BundleFinder.self) as part of its fallback chain. #if os(Android) - @available(*, unavailable) public override init(for aClass: AnyClass) { - fatalError() + self.bundleAccess = BundleAccess.main + super.init(path: Foundation.Bundle.main.bundlePath)! } - @available(*, unavailable) public override init?(identifier: String) { - fatalError() + self.bundleAccess = BundleAccess.main + super.init(path: Foundation.Bundle.main.bundlePath)! } #endif From 764c245e457c78f2aa17bb8e4b8d5119e46eabe6 Mon Sep 17 00:00:00 2001 From: Marc Prud'hommeaux Date: Fri, 8 May 2026 16:02:18 -0400 Subject: [PATCH 2/3] Build skip from source with skip-source: 'build-system' --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b7b0d7..f942aad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,4 +15,5 @@ jobs: call-workflow: uses: skiptools/actions/.github/workflows/skip-framework.yml@v1 with: + skip-source: 'build-system' swift-android-sdk-version: "['', 'nightly-main']" From 75f478138e7d261f675286e2a090a4e723cf9b56 Mon Sep 17 00:00:00 2001 From: Marc Prud'hommeaux Date: Fri, 8 May 2026 22:34:09 -0400 Subject: [PATCH 3/3] Return to using formula distribution of skip in CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f942aad..c2dd59a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,5 +15,5 @@ jobs: call-workflow: uses: skiptools/actions/.github/workflows/skip-framework.yml@v1 with: - skip-source: 'build-system' + runs-on: "['macos-15-intel', 'ubuntu-24.04']" swift-android-sdk-version: "['', 'nightly-main']"