dart-lang/setup-dart

add support for dev_unpublished

sigmundch opened this issue · 6 comments

This is a request to add support for downloading unsigned/unpublished dev builds.

This would be similar to downloading unsigned archives from main, except that the builds will map clearly to dev builds that can be used for sdk constraints.

This will greatly help speed up our iteration process on some projects. Namely, work on expression evaluation requires coordinated changes between the Dart SDK, DWDS (in the webdev package), and the flutter SDK.

We want to land and test changes in DWDS using a raw dev build so we can validate changes, publish them, and roll those into flutter faster. We expect a dev_unsigned channel will shorten our iteration cycle from a couple weeks to just a couple days.

/cc @annagrin

We already have the raw builds on cloud storage, they are accessible from the raw URLs:
https://storage.googleapis.com/dart-archive/channels/dev/raw/2.9.0-1.0.dev/sdk/dartsdk-linux-x64-release.zip

The part after the channel currently has the possibilities raw, signed (contains only mac builds), and release. I think it would be better to have a separate property to select something other than release rather than to merge that into the channel concept.

Yes, that would work perfectly fine for testing purposes on Github Actions. There is already raw for master, we'd need to just expose an option to the github actions to fetch a raw dev build.

Regarding the concept of a channel, I think it will be valuable to provide to developers a standard way to install these dev builds locally too. A channel would be one way to do so, but so is a a script or even a document that details how to fetch it and install it locally. Basically, it will be great to have a shared mechanism vetted by the engprod team :)

@athomas @sigmundch @mit-mit I am not sure how to add reviewers to my PR - I am probably lacking some permissions...

My apologies @annagrin! I just randomly thought this has been bugging you for a while and thought of jumping in to help a bit and didn't know you were doing so at the same time, I'll close my pull request (it is very similar to yours, see #37)

@sigmundch looks like we had the same thought:) I should have let you know that I am working on it, my apologies!