chore: unify kit SPM dependency pattern and CI local SDK#709
Conversation
- Use .package(path:) for monorepo builds; branch: is only for remote git refs. - Point path at repo root (../../../ from Kits/adjust/adjust-5). - Default remote branch name held in version (main); release tooling can update later. - Align product package identity with mparticle-apple-sdk. - Set USE_LOCAL_VERSION in build-kits CI so kit jobs resolve the checked-out SDK. Made-with: Cursor
…rom version Empty version uses branch main; non-empty version sets .upToNextMajor(from:) so release scripts only need to fill the semver string. Made-with: Cursor
- Add shared mParticleAppleSDK block (USE_LOCAL_VERSION, empty version → branch main, else upToNextMajor). - Replace per-kit branch/path mParticle package entries with mParticleAppleSDK. - Align .product package identity to mparticle-apple-sdk where needed. - Rokt kit: drop FLAG-based path toggle in favor of USE_LOCAL_VERSION like other kits. Made-with: Cursor
Replace legacy sed on mParticle .package(branch/upToNextMajor) with a single line substitution for the shared mParticleAppleSDK pattern. Made-with: Cursor
…orks Resolve mParticle-Apple-SDK from the monorepo checkout so release archives match the same SDK sources as the VERSION bump; mirrors still use remote SPM for consumers (no USE_LOCAL_VERSION there). Made-with: Cursor
Made-with: Cursor
PR SummaryMedium Risk Overview Updates CI/release workflows to use the local checkout SDK. Reviewed by Cursor Bugbot for commit d43870e. Bugbot is set up for automated code reviews on this repo. Configure here. |
📦 SDK Size Impact ReportMeasures how much the SDK adds to an app's size (with-SDK minus without-SDK).
➡️ SDK size impact change is minimal. Raw measurementsTarget 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":6532}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":6532} |
|
Flagging that if someone later indents the let version line (e.g., a formatter or manual edit), the sed would silently skip that file with no error, which is a subtle failure mode. We could address by moving to the sed command below, but not a case we should be running into I think.
|
Background
Kit
Package.swiftfiles use one pattern for the main SDK: local path when developing in the monorepo (USE_LOCAL_VERSION), orbranch: main/.upToNextMajor(from:)whenlet versionis set. CI and release kit builds setUSE_LOCAL_VERSIONso compilation matches the checkout being built.What Has Changed
mParticleAppleSDKblocks across kits (including Rokt), withpackage: "mparticle-apple-sdk"where needed.build-kits.ymlsetsUSE_LOCAL_VERSIONfor kit CI.release-draft.ymlupdateslet versionin kitPackage.swiftfiles on major version bumps.release-publish.ymlsetsUSE_LOCAL_VERSIONwhen building kit xcframeworks.Screenshots/Video
N/A
Checklist