new(swiftlang.org/swiftly): Apple-official Swift toolchain version manager#13126
Open
tannevaled wants to merge 2 commits into
Open
new(swiftlang.org/swiftly): Apple-official Swift toolchain version manager#13126tannevaled wants to merge 2 commits into
tannevaled wants to merge 2 commits into
Conversation
…uild) Apple-official Swift version manager (analog of rustup for Rust, zigup for Zig). Pure Swift, built from source via SwiftPM against pantry's existing swift.org compiler. Complements (does not replace) the older github.com/kylef/swiftenv already in pantry. Darwin-only while pantry's swift.org is darwin-only (Linux requires Ubuntu 22.04-class CI not currently available). Upstream uses two tag schemes (numeric vs `swiftly-install-*`); the older installer-script tags are ignored via `versions.ignore`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 31, 2026
The first iteration's test was: swiftly --version 2>&1 | grep -q "1.1.1" This exited non-zero (job 78734773657, fail at 5min 15s). swiftly's `--version` apparently doesn't print the expected version string at first run — most likely because swiftly's first-run initialization sequence interferes when no toolchain has been selected (and the build sandbox has none). `--help` is always safe: swift-argument-parser handles `--help` purely in argv-parsing before any state init. It confirms the binary loads and resolves its dynamic libs, which is the core thing the audit needs to verify. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds `swiftly` — Apple's official Swift toolchain version manager (analog of `rustup` for Rust, `zigup` for Zig). Pure Swift, built from source via Swift Package Manager against pantry's existing `swift.org` toolchain.
Why
Build approach
`swift build --configuration release` via SPM. SPM fetches the swift-* package deps (swift-argument-parser, async-http-client, swift-nio, etc.) over the network — pkgx build sandbox allows this. Same model as the merged `crates.io/*` recipes (cargo fetches) and `go.dev` projects (go mod fetches).
Platforms
Darwin only (x86-64 + aarch64), matching pantry's `swift.org` constraint. Linux is gated behind a future Ubuntu-22.04-class CI runner (already noted as a TODO in `projects/swift.org/package.yml`).
Test plan
🤖 Generated with Claude Code