Repository navigation
Conversation
Publishes LiveKitClient.podspec to livekit/podspecs on release, via livekit/publish-cocoapod-action. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pblazej
marked this pull request as ready for review
October 7, 2026 09:45
This was referenced Oct 7, 2026
pblazej
force-pushed
the
blaze/pod-action
branch
from
October 7, 2026 11:11
7fcc818 to
898cd6e
Compare
Xcode 27 rejects deployment targets below iOS 15 / macOS 12 as an error, so validating LiveKitClient (iOS 13 / macOS 10.15) fails once latest-stable moves to it; 26.5 is what cocoapods-lint.yaml already lints with. dry-run is now true for anything but a release or an explicit dry_run=false dispatch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pblazej
force-pushed
the
blaze/pod-action
branch
from
October 7, 2026 11:25
898cd6e to
e04f736
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publishes
LiveKitClient.podspectolivekit/podspecsonrelease: published(plus manual dispatch), via the newlivekit/publish-cocoapod-action— pinned bycommit sha, same as
publish-xcframework.yaml.Our pods aren't on the trunk, so a release is a PR. The action clones the specs repo and runs
pod repo push --local-only, which leaves validation (--allow-warnings), theSpecs/<Pod>/<version>/layout, the immutability guard (--no-overwrite) and the[Add]/[Update]commit message to CocoaPods itself; the action only cuts the branch and opensthe PR. The same workflow drops into
client-sdk-swift-xcframework,livekit-uniffi-xcframeworkandwebrtc-xcframeworkwith onlypodspec:changed.Before merging
PODSPECS_PATsecret — needscontents: write+pull_requests: writeonlivekit/podspecslivekit/publish-cocoapod-actionmade public, matchingpublish-xcframework-actionmainonce Keep dry-run off the remote publish-cocoapod-action#1 merges (keeps dry-run off the remote)Xcode is pinned to 26.5, matching
cocoapods-lint.yaml. Xcode 27 rejects deployment targets below iOS 15 / macOS 12 as an error, which fails validation of every LiveKit pod, solatest-stablewould break once runners move to it.dry-runnow defaults to true for anything other than a release or an explicitdry_run: falsedispatch.Sibling PRs: livekit/webrtc-xcframework#40, livekit/livekit-uniffi-xcframework#21, livekit/client-sdk-swift-xcframework#9. Each was dry-run on a real runner.
Tested
Against a scratch specs repo, running the action's step bodies directly:
LiveKitClient.podspec2.17.0, full validationlivekit/podspecs)[Update] TestPod (0.0.4)→Specs/TestPod/0.0.4/TestPod.podspecTestPod (0.0.1) already exists and overwriting has been disableddry-runNothing was pushed to
livekit/podspecs.On folding the publish workflows together
Considered and I'd rather not, unless you disagree.
publish-docs,publish-xcframeworkand this one already share triggers, but folding them intoone workflow costs the ability to dispatch a single publisher. GitHub can re-run failed jobs, but
not one succeeded job — so re-publishing only docs after a release would re-run xcframework and
podspec too, and both of those fail hard on a second run by design. Getting that back means an
only: docs|xcframework|podspec|allinput gating every job, which is more moving parts than theduplication it removes.
That duplication is two lines per file — the
ref/dry_runexpression. Three focused files thateach work today, on a path that runs a handful of times a year, seem worth more than one file. Happy
to fold them if you'd rather have the single surface.