Skip to content

ci(plugins): check PluginKit ABI with Xcode's ABI checker - #3552

Merged
datlechin merged 2 commits into
mainfrom
ci/pluginkit-abi-checker
Oct 18, 2026
Merged

datlechin merged 2 commits into
mainfrom
ci/pluginkit-abi-checker

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

The PluginKit ABI check diffed .swiftinterface text against a merge base and ran in no workflow; a separate cadence script held the kit bump rule.

Change

  • scripts/check-pluginkit-abi.sh [--frozen] [base] builds PluginKit at the newest v* tag and at HEAD with Xcode's ABI checker (RUN_SWIFT_ABI_CHECKER_TOOL). A breakage needs kit and minimum at tag kit + 1, a changed baseline kit + 1, an identical one the tag's kit.
  • Passes -error-on-abi-breakage: without it swift-api-digester reports a breakage as a warning.
  • macOS Tests runs it after AllPlugins, --frozen on a PR into release/*, with a full blob:none checkout for the tag.
  • Deletes the cadence script and its test; verify.sh abi takes an optional base.

Verified

verify.sh abi against v0.82.0-beta.1 passes here with byte-identical baselines. In scratch trees a removed requirement fails, and passes at kit and minimum 40; an added defaulted requirement fails at kit 39 and passes at 40; --frozen fails on it.

Not in this PR

  • detect-changed-paths.sh does not watch the script yet, so a PR touching only it skips the step.
  • fix-issue/references/platform-apple.md still lists abi <merge-base>.

@datlechin
datlechin merged commit 05b28d6 into main Oct 18, 2026
18 checks passed
@datlechin
datlechin deleted the ci/pluginkit-abi-checker branch October 18, 2026 23:36
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