Generating packages/toolchains from pull request testing

@hartbit articulated an interesting idea on Twitter about providing downloadable toolchains/binaries for evolution proposals:

Random idea for Swift proposals: attach a built toolchain of the implementation so more people can play with it without having to know or go through the trouble of building one themselves.

I think this would be a great mechanism to help support the review process. From a user level, @swift-ci build toolchains or something like that in the implementation PR might be sufficient, with the PR testing posting download links in the PR. If necessary, we could restrict the set of individuals who initiate such requests to the CI.

@mishal_shah does this sound doable within the current CI infrastructure?

3 Likes

We have support for @swift-ci build toolchain, I will be updating CI docs.

For example:
https://github.com/apple/swift/pull/16992

1 Like

Awesome! I'll give this a try with the newly opened proposal reviews! How long do the toolchains stay around?

Currently, we keep last 50 builds. However, if this becomes an issue with number request we get I will look into uploading toolchains in different location.

The toolchains for reviews should stay available for the duration of the review — which can run for a week or more.

I will look into alternative solution for keeping the toolchains around for longer time.

Unfortunately, GitHub has 10MB size limit for uploading files to pull request.