Skip to content

feat: Add Rokt SDK+ repo to mono repo#766

Merged
BrandonStalnaker merged 2 commits into
mainfrom
feat/Add-Rokt-SDK-Plus
May 11, 2026
Merged

feat: Add Rokt SDK+ repo to mono repo#766
BrandonStalnaker merged 2 commits into
mainfrom
feat/Add-Rokt-SDK-Plus

Conversation

@BrandonStalnaker

Copy link
Copy Markdown
Collaborator

Background

  • Rokt SDK+ (RoktSDKPlus) lived in a separate repo and was versioned on its own (e.g. 1.x), while the mParticle Apple SDK and mParticle-Rokt kit are released from this monorepo with a single ecosystem semver. We needed one source of truth in this repo (like integration kits), mirroring to ROKT/rokt-sdk-plus-ios, and releases aligned with the core SDK for both SwiftPM and CocoaPods, without treating it as a classic “kit” product.

What Has Changed

  • New subtree Kits/rokt-sdk-plus/rokt-sdk-plus-ios/ with Package.swift, RoktSDKPlus.podspec, Sources/RoktSDKPlus/, README.md, and LICENSE, wired to local Kits/rokt/rokt when USE_LOCAL_VERSION is set and to the published mParticle-Rokt Git URL on the mirror.
  • Kits/matrix.json entry rokt-sdk-plus-ios: build/lint/release matrix, dest_org: ROKT, dest_repo: rokt-sdk-plus-ios, flags for SPM-only layout (no Xcode app project), skipped example/test steps, and extra pod lint includes for mParticle-Rokt.podspec.
  • .github/workflows/build-kits.yml: resolve/build Swift packages that have no .xcodeproj, optional pod lint extra includes, and conditional example + SPM test steps.
  • .github/workflows/release-publish.yml: archive path for SPM-only packages; mirror/token owner supports dest_org (default mparticle-integrations); CocoaPods step waits for mParticle-Rokt on trunk before pushing RoktSDKPlus.
  • .github/workflows/release-draft.yml: bumps RoktSDKPlus.version in Swift on release.
  • CHANGELOG.md and RELEASE.md: document the umbrella and ROKT mirror / GitHub App expectations.
  • Versioning: RoktSDKPlus podspec, Package.swift let version, and RoktSDKPlus.version match the monorepo VERSION (e.g. 9.1.0); CocoaPods pins mParticle-Rokt to s.version.

Checklist

  • [x I have performed a self-review of my own code.
  • I have made corresponding changes to the documentation.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have tested this locally.

Reference Issue (For employees only. Ignore if you are an outside contributor)

@BrandonStalnaker BrandonStalnaker self-assigned this May 6, 2026
@BrandonStalnaker BrandonStalnaker requested a review from a team as a code owner May 6, 2026 20:33
@cursor

cursor Bot commented May 6, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Medium risk because it changes CI/release automation (build, mirroring, CocoaPods publish ordering) and introduces a new kit entry that depends on trunk propagation; failures would impact releases rather than runtime SDK behavior.

Overview
Adds a new Rokt SDK+ umbrella package (RoktSDKPlus) into the monorepo with SwiftPM + CocoaPods support (new Package.swift, RoktSDKPlus.podspec, module source, README, LICENSE), versioned in lockstep with the ecosystem and mirrored to ROKT/rokt-sdk-plus-ios.

Updates CI/release workflows to better handle SPM-only repos with no .xcodeproj by resolving/building/archiving via xcodebuild from the package root, allowing per-kit skipping of example builds/tests, and extending pod lib lint include podspecs from the kit matrix.

Extends release automation to bump RoktSDKPlus.version, support per-kit dest_org for mirroring/token generation, and adds a shared wait_for_pod_version_on_trunk helper (plus an extra wait for mParticle-Rokt before publishing RoktSDKPlus) to reduce CocoaPods propagation flakes; docs/changelog are updated accordingly.

Reviewed by Cursor Bugbot for commit 3697dd1. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown

📦 SDK Size Impact Report

Measures how much the SDK adds to an app's size (with-SDK minus without-SDK).

Metric Target Branch This PR Change
App Bundle Impact 1.75 MB 1.75 MB +N/A
Executable Impact 848 bytes 848 bytes +N/A
XCFramework Size 6.42 MB 6.42 MB +N/A

➡️ SDK size impact change is minimal.

Raw measurements

Target branch (main):

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6576}

This PR:

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6576}

Comment thread .github/workflows/build-kits.yml
Comment thread .github/workflows/release-publish.yml Outdated
@BrandonStalnaker BrandonStalnaker force-pushed the feat/Add-Rokt-SDK-Plus branch from d7a9f7c to a06b175 Compare May 7, 2026 17:12
@BrandonStalnaker BrandonStalnaker force-pushed the feat/Add-Rokt-SDK-Plus branch from a06b175 to 129f1d2 Compare May 11, 2026 13:35
Comment thread .github/workflows/release-publish.yml Outdated
Comment thread .github/workflows/build-kits.yml
Comment thread .github/workflows/release-publish.yml

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3697dd1. Configure here.

Comment thread .github/workflows/release-publish.yml
@BrandonStalnaker BrandonStalnaker merged commit a5ea320 into main May 11, 2026
142 of 144 checks passed
@BrandonStalnaker BrandonStalnaker deleted the feat/Add-Rokt-SDK-Plus branch May 11, 2026 16:53
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