i've been periodically updating the swift compiler snapshots on compiler explorer (aka 'godbolt') over the past ~year or so, and have the following question for other users of this tool:
how should we handle patch releases?
currently, for example, the latest 'release' compiler is 6.2, but there have been a few patch releases for that version which have not been added to the site. i can think of a couple ways we could approach this:
- add new versions per patch release, e.g. 6.2, 6.2.1, ...
- replace the latest 'minor release version' with the patch release binaries, so version "6.2" in the UI would resolve to version 6.2.x for whatever the most recent patch release is
the benefit of 1. is that everything would be there and it'd be more clear what version is being used without having to add the -v flag. the downsides would be that it's a bit cumbersome to update (need to update two repos to deploy new compilers), and would take up more space (Matt has said storage space isn't a huge concern, but still IMO would be nice to not waste resources unnecessarily).
option 2. would give access to the latest compiler version without using up space and UI real estate for older point releases that presumably people won't typically care about (if you do, you can always download a snapshot pretty easily these days). i haven't actually thought through all the details of how this would work or checked if there's prior art for how other languages deal with it, but assuming it's possible, my intuition is that it'd require a bit less overhead to perform the updates and would probably meet most people's needs/expectations to see the 'latest' build of a particular compiler release.
so, what do you think?