Replies: 2 comments 1 reply
-
This comes up quite regularly, and we've always decided not to do it. The build itself checks the toolchain and fails almost instantly if it's not compatible, so it doesn't have a huge effect on performance or tying up the build machines. The checking wouldn't introduce much complexity, but it would add some, and it's not really solving a real-world problem. We'd almost certainly still want to insert "failed" build records for these builds to keep things simple on the display side, so it would introduce another path through to an inserted build record, which would split up that logic a bit. I vaguely remember this coming up a few months ago, and something in the back of my head says @finestructure had a reason we would consider it, so I'll let him chime in if there's something I've forgotten about the previous discussions. |
Beta Was this translation helpful? Give feedback.
-
Ok, no worries from my part - just wanted to save you some CPU cycles ;-) |
Beta Was this translation helpful? Give feedback.
-
Checking for e.g. Benchmark, I get this:
https://swiftpackageindex.com/ordo-one/package-benchmark/builds
The build tries to build for many platforms and toolchain versions that fairly easily could be checked and skipped, either using e.g. by checking:
https:/ordo-one/package-benchmark/blob/main/.swift-version
or
https:/ordo-one/package-benchmark/blob/3b3d46ee240a886d8987938d0c563874e04feeda/Package.swift#L1
one could skip all 5.4, 5.5, 5.6 builds and save some time at your end.
Alternatively you could support expressing this in
.spi.yml
.Beta Was this translation helpful? Give feedback.
All reactions