Skip to content

Conversation

stevensJourney
Copy link
Contributor

@stevensJourney stevensJourney commented May 2, 2025

Overview

The KMMBridgeGithubWorkflow action builds and publishes the artifacts required by the Swift SDK.

On a high level the workflow:

  • Builds the binary artifacts and uploads them to Maven
  • Updates the committed Package.swift file to point to these binaryTargets.
  • Pushes the updated changes to a temporary branch and tags the commit with a computed version tag. Swift consumers can then use SPM to checkout the repo at this tag to obtain the core frameworks.

The workflow automatically adds a patch suffix to the provided version string. This distinguishes the KMM release from other releases. This causes version mappings such as 1.0.0-BETA21 -> 1.0.0-BETA21.0.

The workflow broke when we updated the Kotlin SDK version to 1.0.0. The corresponding Swift version, 1.0.0.0 is not a valid SemVer version.

This PR adds a +SWIFT prelease suffix to the version provided to the KMMBridgeGithubWorkflow workflow. This will cause Swift releases to follow the version format 1.x.x+SWIFT.0. The Swift SDK can use a version range of ^1.0.0 which will allow for automatic updates e.g. if we release 1.1.2+SWIFT.0.

@stevensJourney stevensJourney requested a review from Copilot May 2, 2025 08:29
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the KMM deploy action to support Swift releases by adding a "-SWIFT" pre-release suffix to the version provided to the workflow.

  • Updated the release instructions in docs/Release.md to indicate that both LIBRARY_VERSION and SWIFT_LIBRARY_VERSION should be updated.
  • Changed the deploy workflow in .github/workflows/deploy.yml to use SWIFT_LIBRARY_VERSION as the version base property.

Reviewed Changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
docs/Release.md Updated release instructions to include SWIFT_LIBRARY_VERSION.
.github/workflows/deploy.yml Modified versionBaseProperty to use SWIFT_LIBRARY_VERSION for versioning.
Files not reviewed (1)
  • gradle.properties: Language not supported

@stevensJourney stevensJourney marked this pull request as ready for review May 2, 2025 08:54
@stevensJourney stevensJourney requested a review from simolus3 May 2, 2025 08:55
@stevensJourney stevensJourney merged commit 62a93e2 into main May 2, 2025
3 checks passed
@stevensJourney stevensJourney deleted the swiftdeploy branch May 2, 2025 09:17
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