Skip to content

ci: retry validating the stapled macOS DMG when Apple drops the connection - #1433

Merged
EtienneLescot merged 1 commit into
mainfrom
ci/validate-retry
Oct 29, 2026
Merged

EtienneLescot merged 1 commit into
mainfrom
ci/validate-retry

Conversation

@EtienneLescot

@EtienneLescot EtienneLescot commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #1430. The v2.2.0-rc.1 build (run 40886447727, attempt 1) got past the staple step, then failed on xcrun stapler validate with the same error 68: validate queries Apple's ticket service too. The pre-release only published after a manual rerun.

stapler validate now retries up to five times, 30 s apart, like staple. spctl runs once after it.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • DMG validation now retries up to five times before failing. The security assessment runs only after validation succeeds.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 98f94f08-304c-461b-bcc0-d0cf725c1bae
Commits

Reviewing files that changed from the base of the PR and between f3db068 and dd8e771.

Files selected for processing: 1
  • .github/workflows/build.yml

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.

Walkthrough

The build workflow retries DMG stapled-ticket validation up to five times, waits 30 seconds between failed attempts, and runs spctl only after validation succeeds. The step retains its 10-minute timeout.

Changes: DMG validation

Layer / File(s) Summary
Validation retry and assessment
.github/workflows/build.yml
The workflow retries stapler validate up to five times, waits 30 seconds between failed attempts, and exits with failure after the fifth attempt. spctl runs only after validation succeeds. The step retains its 10-minute timeout.

Priority: Normal

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

Change: Other

Possibly related PRs

Suggested reviewers: christian-wr

Merge Risk: Minimal · up to dd8e7

The change retries transient DMG validation failures while retaining the existing time limit and security assessment. No merge-blocking issue is established.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description follows the template's intent. It gives a summary of the change and the failing run, and it explains the retry behavior and the spctl ordering. It has no Related issue section; it refe… Fill in the template sections. Add the related issue or use 'Refs #1430' because this PR is a follow-up and should not close the issue. Check the Type of change (Bug fix fits), Release impact (Patch or No release note needed), and Desktop i…
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title names the change: retrying validation of the stapled macOS DMG when Apple drops the connection. It matches the single workflow change, which adds up to five retries 30 seconds apart before t…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
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.
Full details: Title check

Explanation

The title names the change: retrying validation of the stapled macOS DMG when Apple drops the connection. It matches the single workflow change, which adds up to five retries 30 seconds apart before the spctl assessment. The ci: prefix is conventional and the title is specific enough for a teammate scanning history.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Full details: Description check

Explanation

The description follows the template's intent. It gives a summary of the change and the failing run, and it explains the retry behavior and the spctl ordering. It has no Related issue section; it refers to follow-up to #1430 but leaves the 'Fixes #' line blank and does not state the issue relation. Type of change, Release impact, Desktop impact, Screenshots, and Testing sections are absent. The description does not say how the change was tested, and it does not mark the change type or platform impact.

Resolution

Fill in the template sections. Add the related issue or use 'Refs #1430' because this PR is a follow-up and should not close the issue. Check the Type of change (Bug fix fits), Release impact (Patch or No release note needed), and Desktop impact (macOS, Installer / packaging). Add a Testing section that explains how the retry was verified, such as a workflow dry run or a rerun of the v2.2.0-rc.1 pipeline. Screenshots can be marked not applicable.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@EtienneLescot
EtienneLescot merged commit 9d790ca into main Oct 29, 2026
20 checks passed
@EtienneLescot
EtienneLescot deleted the ci/validate-retry branch October 29, 2026 16:03
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.

1 participant