Skip to content

ci: add Swift example project compilation to CI pipeline#216

Merged
chipp merged 2 commits intomainfrom
vladimirburdukov/swift-example-project-ci
Apr 21, 2026
Merged

ci: add Swift example project compilation to CI pipeline#216
chipp merged 2 commits intomainfrom
vladimirburdukov/swift-example-project-ci

Conversation

@chipp
Copy link
Copy Markdown
Contributor

@chipp chipp commented Apr 20, 2026

TL;DR

Upgrades CI to target macOS 26 / Xcode 26, adds a Swift sample app build step, and removes third-party Swift package dependencies.

What changed?

  • CI matrix updated from macOS 15 / Xcode 16.x to macOS 26 with Xcode versions 26.0.1, 26.1.1, 26.2, and 26.3, each paired with a corresponding iOS SDK. Two additional entries (26.4 and 26.5-beta) are commented out for future use.
  • The DEVELOPER_DIR environment variable is now set dynamically in a dedicated step to handle version strings containing hyphens (e.g. 26.5-beta26.5_beta).
  • Swift tests now pipe through xcbeautify for cleaner output.
  • A new step checks whether iOS simulator destinations are available before building the sample app, downloading the iOS platform if needed.
  • A new build step compiles the IDKitSampleApp Xcode project against the matrix-specified iOS SDK without code signing.
  • BigInt, CryptoSwift, and swift-crypto have been removed as Swift package dependencies from Package.swift, and Package.resolved has been deleted entirely.

How to test?

Push a branch and observe the CI workflow running against the updated macOS 26 matrix. Verify that the Swift tests pass, the sample app builds successfully for each SDK variant, and no dependency resolution errors occur due to the removed packages.

Why make this change?

The CI environment needed to be brought up to date with the latest Apple toolchain releases. Removing the third-party cryptography and big-integer dependencies reduces the package's external surface area, likely because that functionality is now handled internally (e.g. via the idkitFFI binary target or native framework APIs available in the newer SDKs).

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
idkit-js-example Ready Ready Preview, Comment Apr 21, 2026 5:59am

Request Review

@chipp
Copy link
Copy Markdown
Contributor Author

chipp commented Apr 20, 2026

@chipp chipp marked this pull request as ready for review April 20, 2026 07:39
@chipp chipp force-pushed the vladimirburdukov/use-rust-toolchain-version branch from b0f2a05 to 77b1c1f Compare April 20, 2026 10:13
@chipp chipp force-pushed the vladimirburdukov/swift-example-project-ci branch from c822905 to 018c3b9 Compare April 20, 2026 10:13
@chipp chipp force-pushed the vladimirburdukov/swift-example-project-ci branch from 018c3b9 to 2cbb2d8 Compare April 20, 2026 10:21
@chipp chipp force-pushed the vladimirburdukov/use-rust-toolchain-version branch 2 times, most recently from 1968247 to df05368 Compare April 20, 2026 10:22
@chipp chipp force-pushed the vladimirburdukov/swift-example-project-ci branch from 2cbb2d8 to 3fa7235 Compare April 20, 2026 10:22
@chipp chipp force-pushed the vladimirburdukov/swift-example-project-ci branch from 3fa7235 to 89b8958 Compare April 20, 2026 10:47
@Takaros999
Copy link
Copy Markdown
Contributor

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 89b895806e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/ci.yml Outdated
-project swift/Examples/IDKitSampleApp/IDKitSampleApp.xcodeproj \
-scheme IDKitSampleApp \
-sdk iphonesimulator \
-destination "generic/platform=iOS" \
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Target iOS Simulator in simulator build step

The simulator build command uses -sdk iphonesimulator but still sets -destination "generic/platform=iOS", which is the device platform. xcodebuild treats iOS and iOS Simulator as separate destination platforms, so this mismatch can cause destination resolution errors and fail the swift-bindings job on every run that reaches this step. The destination here should be the simulator platform.

Useful? React with 👍 / 👎.

Base automatically changed from vladimirburdukov/use-rust-toolchain-version to main April 20, 2026 23:34
@chipp chipp merged commit 4419942 into main Apr 21, 2026
18 checks passed
@chipp chipp deleted the vladimirburdukov/swift-example-project-ci branch April 21, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants