Skip to content

ci: add publish-cocoapods job to release-publish workflow#723

Merged
nickolas-dimitrakas merged 3 commits intomainfrom
ci/publish-cocoapods-release-publish
Apr 8, 2026
Merged

ci: add publish-cocoapods job to release-publish workflow#723
nickolas-dimitrakas merged 3 commits intomainfrom
ci/publish-cocoapods-release-publish

Conversation

@nickolas-dimitrakas
Copy link
Copy Markdown
Contributor

@nickolas-dimitrakas nickolas-dimitrakas commented Apr 8, 2026

Summary

The `release-publish` workflow had no step to push the core SDK or kits to CocoaPods trunk after GitHub releases. This adds two jobs to cover both.

Changes

  • Adds `publish-cocoapods` job — runs after `release-core-sdk`, pushes `mParticle-Apple-SDK.podspec` to CocoaPods trunk
  • Adds `publish-kit-cocoapods` matrix job — runs after `mirror-and-release-kits` and `publish-cocoapods` (core must be on trunk first), pushes each kit's podspec; kits without a `podspec` field in `matrix.json` (e.g. kochava) are skipped
  • Both jobs use `COCOAPODS_TRUNK_TOKEN` secret and are skipped when `dry_run: true`

Test plan

  • Trigger `release-publish.yml` with `dry_run: true` — confirm both CocoaPods jobs are skipped
  • Confirm `COCOAPODS_TRUNK_TOKEN` secret is set in the repo before the next real release
  • On a real release, verify core SDK and all kits with podspecs appear on CocoaPods trunk

@nickolas-dimitrakas nickolas-dimitrakas requested a review from a team as a code owner April 8, 2026 14:48
@cursor
Copy link
Copy Markdown

cursor bot commented Apr 8, 2026

PR Summary

Medium Risk
Medium risk because it changes the release pipeline to automatically publish to CocoaPods using a short-lived token, where misconfiguration could push incorrect versions or fail releases.

Overview
Adds automatic CocoaPods publishing to the Release – Publish workflow: after the core GitHub release it now pushes mParticle-Apple-SDK.podspec to trunk, and a new matrix job publishes each kit’s podspec (skipping entries without one).

Updates RELEASE.md to reflect the new automated CocoaPods step and emphasize refreshing the COCOAPODS_TRUNK_TOKEN secret before each release, and removes the now-obsolete Scripts/pod_publish.sh manual publishing script.

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

@nickolas-dimitrakas nickolas-dimitrakas self-assigned this Apr 8, 2026
@nickolas-dimitrakas nickolas-dimitrakas force-pushed the ci/publish-cocoapods-release-publish branch from ed23088 to f221ef0 Compare April 8, 2026 14:50
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

📦 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.38 MB 6.38 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":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}

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nickolas-dimitrakas nickolas-dimitrakas force-pushed the ci/publish-cocoapods-release-publish branch 3 times, most recently from 814c521 to f1e3968 Compare April 8, 2026 14:55
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nickolas-dimitrakas nickolas-dimitrakas force-pushed the ci/publish-cocoapods-release-publish branch from f1e3968 to 8bbbe45 Compare April 8, 2026 15:02
denischilik
denischilik previously approved these changes Apr 8, 2026
Updated expiration notice for COCOAPODS_TRUNK_TOKEN.
@nickolas-dimitrakas nickolas-dimitrakas merged commit a7bc4d1 into main Apr 8, 2026
69 of 71 checks passed
@nickolas-dimitrakas nickolas-dimitrakas deleted the ci/publish-cocoapods-release-publish branch April 8, 2026 17:01
Copy link
Copy Markdown

@cursor cursor bot left a comment

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

Reviewed by Cursor Bugbot for commit 2d3e273. Configure here.

name: Publish ${{ matrix.kit.name }} to CocoaPods
needs: [load-matrix, mirror-and-release-kits, release-core-sdk]
runs-on: macos-15
if: ${{ !inputs.dry_run }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Kit CocoaPods job skipped on manual non-dry-run dispatch

Medium Severity

The if: ${{ !inputs.dry_run }} condition on publish-kit-cocoapods uses the inputs context, where workflow_dispatch boolean inputs are strings ('true'/'false'), not actual booleans. Since 'false' is a non-empty string (truthy), !'false' evaluates to false, causing the entire job to be silently skipped when a user manually triggers the workflow with dry_run unchecked. Every other dry-run guard in this workflow uses the reliable env.DRY_RUN != 'true' pattern at step level, which correctly handles the string representation.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2d3e273. Configure here.

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