Repository navigation
Add Swift SDK release workflow - #4
Conversation
0e9c366 to
e8383bc
Compare
There was a problem hiding this comment.
Adds a release-sdk-swift.yml workflow that triggers on swift-vX.Y.Z tags (or manual dispatch). It validates the tag against the demucs-ffi crate version, builds the XCFramework on macOS, tests demucs-swift against it, creates a GitHub release with the zip and checksum, then updates demucs-swift's Package.swift and generated bindings, commits to main, and tags X.Y.Z. The README gets a Swift SDK section documenting the package, the tag convention, and the local build command. The swift-v prefix avoids colliding with release.yml's v* trigger.
Automated review by siGit Code Review · commit e8383bc · see the review dashboard
There was a problem hiding this comment.
Adds a Release SDK Swift workflow triggered by swift-vX.Y.Z tags (or manual workflow_dispatch). It runs preflight checks (fmt, clippy, test), builds DemucsFramework.xcframework via build-swift-xcframework.sh, tests demucs-swift against the locally-built framework, then publishes: creates a GitHub release with the zip and checksum, updates demucs-swift's Package.swift and generated bindings, commits, and pushes + tags X.Y.Z on demucs-swift. Earlier review threads about rebase-before-push, stale-tag detection, and regex flexibility are addressed in this diff. README gains a Swift SDK section, a make swift-xcframework row, and demucs-ffi/uniffi-bindgen in the project structure.
The one thing to verify before merging is the tag trigger pattern — it uses regex-style + quantifiers inside a GitHub Actions glob filter, which likely won't match real swift-v1.2.3 tags.
Automated review by siGit Code Review · commit f2f27fb · see the review dashboard
f2f27fb to
8a40561
Compare
There was a problem hiding this comment.
The change adds a Release SDK Swift workflow that triggers on swift-vX.Y.Z tags (or manual dispatch), runs preflight checks, builds DemucsFramework.xcframework, tests demucs-swift against it locally, then publishes: it updates Package.swift with the release URL/checksum, commits to demucs-swift, creates a GitHub release with the zip and checksum, and pushes plus tags demucs-swift at X.Y.Z. The README gains a Swift SDK section documenting the package, tag convention, and local build command. Earlier findings about push ordering, tag-existence checks, and regex robustness were addressed in f2f27fb; the dry-run clone question was settled (public repo). The critical tag-pattern issue at line 8 remains unanswered.
Automated review by siGit Code Review · commit 8a40561 · see the review dashboard
8a40561 to
96732b5
Compare
Pushing a swift-vX.Y.Z tag builds DemucsFramework.xcframework with build-swift-xcframework.sh, runs demucs-swift's tests against it, attaches the zip and checksum to a GitHub release, then updates demucs-swift's Package.swift and generated bindings and tags it X.Y.Z. The swift-v prefix keeps these tags out of release.yml's v* trigger. Publishing needs a DEMUCS_SWIFT_PAT secret with write access to SplitFireAI/demucs-swift. The README documents the SDK and the tag. Co-Authored-By: siGit Code <noreply@sigit.si> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Swift package commit now happens before the GitHub release, and it fails if demucs-swift already has the version tag with a different Package.swift or bindings. Before, the run warned and pushed to main anyway, leaving SwiftPM users on the old tag. The push rebases onto main first, since main can move while the Swift tests run. The demucs-swift checkout uses full history so the rebase and the tag comparison work. The Package.swift regex no longer requires the string literal on its own line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: siGit Code <noreply@sigit.si>
96732b5 to
8d67f1b
Compare
There was a problem hiding this comment.
Adds a Release SDK Swift GitHub Actions workflow triggered by swift-vX.Y.Z tags (and manual workflow_dispatch). It runs preflight checks (fmt, clippy, tests, tag/version match), builds DemucsFramework.xcframework via build-swift-xcframework.sh on macOS, tests demucs-swift against the freshly built framework, then publishes: creates a GitHub release with the zip and checksum, updates demucs-swift's Package.swift URL/checksum and generated bindings, commits, rebases onto main, pushes, and tags X.Y.Z. The README gains a Swift SDK section, a make swift-xcframework table entry, cargo test -p demucs-ffi, and project-structure entries for demucs-ffi/ and uniffi-bindgen/. Earlier review threads on push/rebase ordering, tag-conflict handling, regex robustness, dry-run checkout, and the tag trigger pattern were all settled and addressed.
Automated review by siGit Code Review · commit 8d67f1b · see the review dashboard
Pushing a swift-vX.Y.Z tag builds DemucsFramework.xcframework with
build-swift-xcframework.sh, runs demucs-swift's tests against it,
attaches the zip and checksum to a GitHub release, then updates
demucs-swift's Package.swift and generated bindings and tags it X.Y.Z.
The swift-v prefix keeps these tags out of release.yml's v* trigger.
Publishing needs a DEMUCS_SWIFT_PAT secret with write access to
SplitFireAI/demucs-swift. The README documents the SDK and the tag.
Co-Authored-By: siGit Code noreply@sigit.si
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Stack created with GitHub Stacks CLI • Give Feedback 💬