Skip to content

fix(release): patch Package.swift manifest with xcframework artifact metadata - #667

Closed
keranm wants to merge 4 commits into
Mesh-LLM:mainfrom
keranm:fix/release-patch-swift-manifest
Closed

fix(release): patch Package.swift manifest with xcframework artifact metadata#667
keranm wants to merge 4 commits into
Mesh-LLM:mainfrom
keranm:fix/release-patch-swift-manifest

Conversation

@keranm

@keranm keranm commented May 24, 2026

Copy link
Copy Markdown
Contributor

The release pipeline builds and uploads MeshLLMFFI.xcframework.zip
correctly via build_swift_sdk_artifact, but never substitutes the
__MESH_SWIFT_RELEASE_TAG__ and __MESH_SWIFT_RELEASE_CHECKSUM__
placeholders in Package.swift. This means SPM consumers always
resolve placeholder tokens and cannot use the binary target, even
when the zip is attached to the release.

Changes

Adds a patch_swift_package_manifest job that runs after
build_swift_sdk_artifact:

  • Receives the xcframework checksum as a job output (no re-download needed)
  • Patches Package.swift with the real release download URL and checksum
  • Commits the patched manifest and force-moves the release tag to that commit

The publish job now depends on patch_swift_package_manifest,
ensuring Package.swift is correct before the GitHub Release is created.

Context

Follows on from #665 (versioned macOS bundle layout fix) and #666
(native xcodebuild assembly). Without this change, the xcframework
zip is present in releases but unreachable via SPM.

Tested: xcframework built locally from this branch against an
external Swift client — binary target resolves correctly.

@i386 i386 closed this May 24, 2026
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.

2 participants