Skip to content

Add linker settings for SyndiKit target#125

Merged
leogdion merged 2 commits intoclaude/update-workflow-matrix-bnyqxfrom
fix-android-ci
Apr 19, 2026
Merged

Add linker settings for SyndiKit target#125
leogdion merged 2 commits intoclaude/update-workflow-matrix-bnyqxfrom
fix-android-ci

Conversation

@leogdion
Copy link
Copy Markdown
Member

No description provided.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 19, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8252595b-3a38-4356-aee0-03ddc34d3521

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-android-ci

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 and usage tips.

@claude
Copy link
Copy Markdown

claude bot commented Apr 19, 2026

Code Review

Overview

This PR adds a single linker setting to Package@swift-6.0.swift to explicitly link against libz (zlib) when building for Android. This is a known requirement for Swift on Android — zlib is not automatically linked, and it is required transitively by Foundation's XML parsing stack (used by XMLCoder).

Assessment: Looks Good ✓

The change is minimal, correct, and well-targeted.


Observations

Correctness

  • Using .linkedLibrary("z", .when(platforms: [.android])) is the right approach — it scopes the linker flag strictly to Android, avoiding any side effects on other platforms.
  • The z library name is correct for libz.so on Android.

Manifest scope

  • The change is only in Package@swift-6.0.swift (swift-tools-version:6.0), not in Package.swift (swift-tools-version:5.10). This is appropriate: the CI matrix shows Android is only tested with Swift 6.1+, which resolves to the @swift-6.0 manifest. Swift 5.x Android builds are not part of the test matrix.

No test changes needed — this is a build/link configuration fix; correctness is validated by the existing Android CI jobs passing.


Minor Suggestions

  1. PR description is empty. Consider adding a brief note explaining why zlib needs explicit linking on Android (e.g., "Required by Foundation's XML parser on Android, where libz.so is not automatically linked by the Swift toolchain"). This helps future maintainers understand the intent without having to research it.

  2. Consider Package.swift parity. The 5.10 manifest (Package.swift) doesn't have this change. It's not strictly needed for the current CI matrix, but if someone attempts an Android build with an older Swift toolchain, they'd hit the same missing-libz error. Adding it there too would be a small but defensive improvement.


Summary

This is a small, focused, and correct fix for Android builds. The only actionable suggestions are minor: add a description to the PR for context, and optionally apply the same change to Package.swift for completeness. No blocking issues.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.65%. Comparing base (750da39) to head (0ef671c).
⚠️ Report is 1 commits behind head on claude/update-workflow-matrix-bnyqx.

Additional details and impacted files
@@                         Coverage Diff                          @@
##           claude/update-workflow-matrix-bnyqx     #125   +/-   ##
====================================================================
  Coverage                                77.65%   77.65%           
====================================================================
  Files                                       74       74           
  Lines                                     1553     1553           
====================================================================
  Hits                                      1206     1206           
  Misses                                     347      347           
Flag Coverage Δ
5.10 66.06% <ø> (ø)
6.0 76.88% <ø> (ø)
6.1 76.88% <ø> (ø)
6.2 76.88% <ø> (ø)
6.3 76.88% <ø> (ø)
ios18.5 76.88% <ø> (ø)
ios26.4 76.88% <ø> (ø)
jammy 77.65% <ø> (ø)
macos 76.88% <ø> (ø)
noble 77.65% <ø> (ø)
spm 77.65% <ø> (ø)
tvos18.5 76.88% <ø> (ø)
tvos26.4 76.88% <ø> (ø)
visionos2.5 76.88% <ø> (ø)
visionos26.4 76.88% <ø> (ø)
watchos11.5 76.88% <ø> (ø)
watchos26.4 76.88% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@leogdion leogdion merged commit 9b27fd4 into claude/update-workflow-matrix-bnyqx Apr 19, 2026
111 of 113 checks passed
@leogdion leogdion deleted the fix-android-ci branch April 19, 2026 19:43
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