Skip to content

ci: drop xcframework distribution from the release pipeline#97

Merged
luizmb merged 1 commit into
mainfrom
bugfix/drop-broken-xcframework
Jul 9, 2026
Merged

ci: drop xcframework distribution from the release pipeline#97
luizmb merged 1 commit into
mainfrom
bugfix/drop-broken-xcframework

Conversation

@luizmb

@luizmb luizmb commented Jul 9, 2026

Copy link
Copy Markdown
Owner

What

Remove the rc-build-xcframework job and stop attaching xcframework assets to releases. FP becomes source-only, matching Hourglass and the swift-library standard.

Why

The job zipped loose release .swiftmodule files into a directory named .xcframework — no Info.plist, no binary, no device slices — so the 5 assets attached to each release (e.g. v2.0.0) are not valid xcframeworks and cannot be linked.

Building a real, importable xcframework requires library evolution (BUILD_LIBRARY_FOR_DISTRIBUTION=YES), which DataStructure/IdentifiedArray rejects: its @inlinable inits initialize stored properties directly, forbidden under resilient mode. Reworking that would degrade IdentifiedArray's inlining (its whole purpose) for binaries nobody consumes — everything integrates via SwiftPM source — and the swift-library canonical release pipeline ships no xcframeworks anyway.

Changes

  • Delete the rc-build-xcframework job.
  • Drop it from rc-notify-status needs; simplify that job's notice.
  • create-release: remove the artifact download + List Artifacts steps and the artifacts/*/*.zip argument; fix the install note to a normal SPM snippet. Releases now publish notes only.

Not in scope

The 5 stale fake assets already on the existing v2.0.0 GitHub Release (can be deleted separately with gh release delete-asset).

🤖 Generated with Claude Code

The rc-build-xcframework job zipped loose release .swiftmodule files into
a directory named .xcframework — not a valid xcframework (no Info.plist,
no binary, no device slices), so the 5 assets it attached to each release
could not be linked.

Building a real, importable xcframework would require library evolution
(BUILD_LIBRARY_FOR_DISTRIBUTION=YES), which DataStructure/IdentifiedArray
rejects: its @inlinable inits initialize stored properties directly, which
resilient mode forbids. Reworking that would degrade IdentifiedArray's
inlining for binaries nobody consumes (integration is SwiftPM source) and
contradicts the swift-library standard, whose canonical release pipeline
ships no xcframeworks.

Remove the job, its needs entry in rc-notify-status, and the artifact
download/attach from create-release. Releases now publish notes only —
source-only distribution, matching Hourglass and the standard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@luizmb luizmb merged commit 5684672 into main Jul 9, 2026
5 checks passed
@luizmb luizmb deleted the bugfix/drop-broken-xcframework branch July 9, 2026 16:00
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