This repository automatically tracks and builds XCFramework releases corresponding to official apple/swift-syntax tags. Each release provides a pre-built XCFramework that can be easily integrated into Swift packages or Xcode projects.
- GitHub Actions workflow automatically tracks new SwiftSyntax releases and builds corresponding XCFrameworks.
- Runs weekly with a 2-week cooldown period after each release to avoid excessive builds.
- Also supports manual triggering with specific SwiftSyntax tags.
- Supports macOS (Universal: arm64 + x86_64).
- Each release includes a zipped XCFramework and its checksum for use as a binary target.
To use a pre-built SwiftSyntax XCFramework in your Swift package:
.binaryTarget(
name: "SwiftSyntaxWrapper",
url: "https://github.com/ARISTIDE021/SwiftSyntaxBinaries/releases/download/<TAG>/SwiftSyntax.xcframework.zip",
checksum: "<CHECKSUM>"
)
Replace <TAG>
and <CHECKSUM>
with the release tag and checksum from the corresponding release.
- The workflow runs weekly on Mondays to check for new SwiftSyntax releases.
- If a new release is found and we're not in a cooldown period, it proceeds to build.
- Cooldown period: 2 weeks after any release to prevent excessive builds.
- The workflow can be triggered manually with a specific SwiftSyntax tag.
- Manual builds bypass the cooldown period.
- The build script clones the specified tag from apple/swift-syntax.
- Builds are performed for macOS (arm64, x86_64) using
swift build
via a temporary wrapper package. - An XCFramework is created from the resulting static libraries and module files.
- The XCFramework is zipped and its checksum is computed.
- The zipped framework and checksum are attached to a GitHub release matching the tag.
MIT License. See LICENSE for details.