swiftly icon indicating copy to clipboard operation
swiftly copied to clipboard

Provide a convenient way to install nightly toolchains

Open FranzBusch opened this issue 10 months ago • 7 comments

Right now to install a nightly toolchain one has to pass the exact toolchain tag e.g. https://github.com/swiftlang/swift/releases/tag/swift-6.1-DEVELOPMENT-SNAPSHOT-2025-02-01-a to swiftly install. It is very common that one wants to install the latest nighty of the next release or the main branch.

It would be great if we could have an easy way to install those, e.g:

swiftly install nightly-6.1
swiftly install nightly-main

It would be good if we could also keep those easily updated.

FranzBusch avatar Feb 02 '25 21:02 FranzBusch

I thought you could use

swiftly install 6.1-snapshot

adam-fowler avatar Feb 03 '25 08:02 adam-fowler

Oh you are right you can do swiftly install 6.1-snapshot and swiftly install main-snapshot. The reason I missed this is that I was doing swiftly list-available and this didn't show up. Would be good to include them there as well.

FranzBusch avatar Feb 03 '25 08:02 FranzBusch

To add to this. It seems like 6.1 isn't working

swiftly install 6.1-snapshot
Fetching the latest 6.1 development branch snapshot...
Error: You have requested to install a snapshot toolchain from branch 6.1 development. It cannot be found on swift.org. Note that snapshots are only available from the current `main` release and the latest x.y (major.minor) release. Try again with a different branch.

FranzBusch avatar Feb 03 '25 08:02 FranzBusch

To add to this. It seems like 6.1 isn't working

I'm guessing this is because the 6.1 build metadata is available on swift.org. I'm a bit behind with this nowadays. @cmcgee1024 can verify.

adam-fowler avatar Feb 03 '25 10:02 adam-fowler

Oh you are right you can do swiftly install 6.1-snapshot and swiftly install main-snapshot. The reason I missed this is that I was doing swiftly list-available and this didn't show up. Would be good to include them there as well.

@FranzBusch the list-available subcommand will show all of the releases, but if you want to see the available snapshots you must provide the branch (e.g. main-snapshot or 6.0-snapshot) because there can be a very large number of them and it's unclear which branch the user would like to see, if any. The releases are far fewer and are more likely to be what someone wants to see.

The swiftly list-available --help covers some of this. Also, the online help here: https://swiftpackageindex.com/swiftlang/swiftly/0.4.0-dev/documentation/swiftlydocs/swiftly-cli-reference#list-available

Note that you can only inspect the snapshots of the main branch leading up to the next release, and the previous release, which is "6.0" right now, which I believe aligns with the downloads pages of swift.org.

cmcgee1024 avatar Feb 03 '25 17:02 cmcgee1024

@FranzBusch the list-available subcommand will show all of the releases, but if you want to see the available snapshots you must provide the branch (e.g. main-snapshot or 6.0-snapshot) because there can be a very large number of them and it's unclear which branch the user would like to see, if any. The releases are far fewer and are more likely to be what someone wants to see.

I get that. I was not expecting it to list all snapshots just one line about snapshots in the output.

FranzBusch avatar Feb 04 '25 13:02 FranzBusch

Swiftly can have some kind of affordance in the list-available output for releases, not snapshots to indicate that there is a way to list snapshots too to make the feature more obvious.

cmcgee1024 avatar Mar 27 '25 22:03 cmcgee1024