Move away from Git LFS uploading the XCFramework binary as release asset#132
Move away from Git LFS uploading the XCFramework binary as release asset#132
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request transitions from Git LFS to hosting XCFramework binaries as GitHub release assets to improve compatibility with Xcode's built-in git and Swift Package Manager. The change updates the release workflow to upload the binary framework as a release asset and dynamically generates Package.swift to reference the remote binary URL.
Changes:
- Added
archive_swift.shscript to dynamically generate Package.swift with binary target URL and checksum - Updated release workflow to compress and upload XCFramework as a release asset
- Removed Git LFS initialization and tracking from the release workflow
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| archive_swift.sh | New script that generates Package.swift with dynamic binary target URL and checksum for remote XCFramework hosting |
| .github/workflows/release.yml | Updated to compress XCFramework, create draft release with binary asset, compute checksum, and use dynamically generated Package.swift instead of committing the binary with Git LFS |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:249
- This step publishes the draft release created earlier (line 82-93) by default, which could expose the release before the binary asset is properly verified and the Package.swift is confirmed to work. The draft release at line 82-93 should remain a draft, and this final release step should include the binary asset file explicitly to ensure it's attached to the published release.
- name: Create Release in swift repo
uses: softprops/action-gh-release@v2
with:
repository: worldcoin/walletkit-swift
token: ${{ secrets.WALLETKIT_BOT_TOKEN }}
name: ${{ needs.pre-release-checks.outputs.new_version }}
tag_name: ${{ needs.pre-release-checks.outputs.new_version }}
body: |
## Version ${{ needs.pre-release-checks.outputs.new_version }}
For full release notes, see the [main repo release](https://github.com/worldcoin/walletkit/releases/tag/${{ needs.pre-release-checks.outputs.new_version }}).
make_latest: true
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
We are moving away from Git LFS since can add extra overhead for developers. Xcode uses its own git which does not always work well with a locally installed Git LFS.
Instead we are uploading the binary framework as a release asset and referencing its URL directly from Package.swift.