Skip to content

chore: Verify pod trunk publish after pod_push server errors - #1231

Merged
NandanPrabhu merged 4 commits into
masterfrom
fix/release-pipeline-pod-trunk-verify
Jul 1, 2026
Merged

chore: Verify pod trunk publish after pod_push server errors#1231
NandanPrabhu merged 4 commits into
masterfrom
fix/release-pipeline-pod-trunk-verify

Conversation

@NandanPrabhu

@NandanPrabhu NandanPrabhu commented Jul 1, 2026

Copy link
Copy Markdown
Contributor
  • All new/changed/fixed functionality is covered by tests (or N/A)
  • I have added documentation for all new/changed functionality (or N/A)

📋 Changes

Cocoapods publish can fail intermittently with server error while pod is published. Added code in fastfile to print pod trunk list for listing the version published ensuring even if server error returned during publishing the pod is actually published

📎 References

🎯 Testing

Summary by CodeRabbit

  • Chores
    • Added an additional release verification step to confirm the published package version is available before the release completes.
    • The release now stops with a clear message when the version can’t be detected, prompting manual follow-up.

@NandanPrabhu
NandanPrabhu requested a review from a team as a code owner July 1, 2026 09:42
@NandanPrabhu NandanPrabhu changed the title chore: Verify pod tunk publish after pod_push server errors chore: Verify pod trunk publish after pod_push server errors Jul 1, 2026
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dad26006-805c-4cfe-969f-b462dd6f2288

📥 Commits

Reviewing files that changed from the base of the PR and between c58a6da and 09f81c0.

📒 Files selected for processing (1)
  • fastlane/Fastfile

📝 Walkthrough

Walkthrough

fastlane/Fastfile adds a post-release CocoaPods trunk check in the :release lane. It retries pod trunk info Auth0 with a timeout, searches for the released version, and reports success or raises a user error if the version is missing.

Changes

Release lane trunk verification

Layer / File(s) Summary
Trunk verification
fastlane/Fastfile
require 'timeout' is added, and the :release lane now runs a bounded, retrying pod trunk info Auth0 check that matches the exact release version, waits between attempts, and ends with success or UI.user_error!.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the new post-publish CocoaPods trunk verification added to the release lane.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-pipeline-pod-trunk-verify

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai 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.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@fastlane/Fastfile`:
- Line 18: The version check in Fastfile is using a substring match, which can
accept unintended versions. Update the `trunk_info.include?(version)` logic in
the version lookup flow to confirm an exact version entry from `pod trunk info`
rather than a partial string match. Use the existing `version` variable and the
surrounding `trunk_info` parsing code to compare against a discrete version
token or line match so only the intended version passes.
- Line 17: Handle the pod trunk info call in the Fastfile lane explicitly
instead of letting sh raise a FastlaneShellError. Update the trunk_info lookup
to use sh with an error_callback or block so transient trunk/network failures
are captured and the lane can continue to surface a UI.user_error! with a clear
publish-status message. Use the existing trunk_info logic in Fastfile to locate
the fallback path and keep the failure handling there.
- Around line 15-22: The trunk verification in Fastfile can fail too early
because pod trunk info may lag after a successful push. Update the release check
around the trunk_info lookup to retry with a short backoff before calling
UI.user_error!, and only fail after several attempts still do not find version.
Keep the success/failure handling in the same lane logic so Auth0 version
publication is confirmed reliably.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 26ef0206-6193-4800-8f39-85ecf5c2ece4

📥 Commits

Reviewing files that changed from the base of the PR and between 2687b65 and ee15b5b.

📒 Files selected for processing (1)
  • fastlane/Fastfile

Comment thread fastlane/Fastfile
Comment thread fastlane/Fastfile Outdated
Comment thread fastlane/Fastfile Outdated
sanchitmehtagit
sanchitmehtagit previously approved these changes Jul 1, 2026

@sanchitmehtagit sanchitmehtagit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Lets look at coderabbit review comments too

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@fastlane/Fastfile`:
- Line 22: The `sh` call in `Fastfile` for `pod trunk info Auth0` is swallowing
useful error output via the no-op `error_callback`, which makes real failures
indistinguishable from missing propagation. Update this call so the
`error_callback` preserves or reports the command’s stderr in a way that keeps
the existing `trunk_info` flow intact, and use the `trunk_info` assignment site
to locate it.
- Line 22: The `trunk_info` lookup in `Fastfile` can hang indefinitely because
`sh` is calling `pod trunk info Auth0` without a timeout. Update the
`trunk_info` assignment to run the `pod trunk info` command through a shell
timeout (or equivalent guarded execution) so each retry fails fast instead of
stalling, and keep the change localized to the `trunk_info`/`sh` call path.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1f9aba17-6778-4a55-9ca8-26ae91868173

📥 Commits

Reviewing files that changed from the base of the PR and between ee15b5b and 4358108.

📒 Files selected for processing (1)
  • fastlane/Fastfile

Comment thread fastlane/Fastfile Outdated

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@fastlane/Fastfile`:
- Around line 24-29: The `trunk_info` error handling in `Fastfile` is calling
`.message` on the `error_callback` argument from `sh`, but that callback
receives the command output string rather than an exception. Update the `sh("pod
trunk info Auth0", ...)` `error_callback` block to log the string directly, and
keep the `Timeout.timeout`/`rescue Timeout::Error` retry path intact so a
non-zero `pod trunk info` exit does not abort the flow.
- Around line 24-29: Replace the Timeout.timeout wrapper around the trunk_info
probe with a process-level timeout approach inside the Fastfile logic. The
current use of sh("pod trunk info Auth0", ...) should be updated to use a
Fastlane-native timeout or explicit subprocess kill/cleanup path so the pod
command itself is terminated reliably. Keep the existing trunk_info handling and
error_callback structure, but move timeout enforcement out of Timeout.timeout
and into the command execution path.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 21749a31-5455-4bee-bbac-5e84481d9862

📥 Commits

Reviewing files that changed from the base of the PR and between 4358108 and 09f81c0.

📒 Files selected for processing (1)
  • fastlane/Fastfile

Comment thread fastlane/Fastfile
@NandanPrabhu

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@NandanPrabhu
NandanPrabhu merged commit 0080855 into master Jul 1, 2026
12 of 13 checks passed
@NandanPrabhu
NandanPrabhu deleted the fix/release-pipeline-pod-trunk-verify branch July 1, 2026 13:39
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.

3 participants