Skip to content

Per-OS toolchain version; Mojave build

Adrien Kohlbecker requested to merge ak/mojave into master

What does this MR do?

Adds per-OS toolchain versions. Makes sure to pin everything to constant versions. Resets versions to historically somewhat accurate versions available at the time of each .1 OS release.

Adds a build for Mojave, and moves xcode 10 to it, to be consistent in our versioning.

There is some variation in the tooling depending on the OS, like sshpass not building on High Sierra, php & postgres not building with asdf before Big Sur, and git failing to brew test before Big Sur.

Why was this MR needed?

So we have all the recent OSes available, and we can pin all the toolchains (including casks, brew formulas, asdf releases). Now adding a new OS will just be about building a new file in toolchain with the pinned versions we want, and we'll still be able to re-build old images accurately.

Having historically accurate tool versions is just a bonus itch I had to scratch on top of pinning 😉

What's the best way to test this MR?

What are the relevant issue numbers?

Edited by Adrien Kohlbecker

Merge request reports