Skip to content

Revert "Merge branch 'sh-simplify-pages-version' into 'master'"

Ash McKenzie requested to merge revert-33ef25c4 into master

What does this MR do?

This MR reverts !610 (merged) where the .tool-versions golang change from being 'broad' (golang 1.16) to semver explicit (golang 1.16.9).

TL;DR - SemVer explicit versions gives us predictability and the GDK currently relies upon this.

The rationale for this is:

Unpredictable installed versions

Having a 'broad' version such as 1.16 vs. a semver explicit 1.16.9 makes maintenance easy, but it means users of gitlab-pages using asdf could be running any number of different versions of golang 1.16, depending on when they ran asdf install. This level of unpredictability could introduce inconsistencies and result in bugs or difficult debugging sessions.

GDK .tool-versions

The GDK is responsible or installing all components to get a GitLab instance up and running, including third party software as defined in .tool-versions. Quite a few GitLab projects define their own .tool-versions files (which is awesome) which the GDK collates and distills as best as possible into a single .tool-versions file that contains all third party software that is required for correct operation. support/asdf-combine is responsible for this but with the change here we're revering, the resulting distilled golang specific entry in .tool-versions` looks like:

golang 1.17.2 1.16.10 1.16 1.16.9

Currently, golang 1.16 maps to 1.16.10 but we can't determine that effectively and asdf will actually install both 1.16 and 1.16.10 as separate installs. This isn't the worse thing in the world as the golang installs as binaries so no compilation needed, but for postgres or others this will mean 2x compilation time 😞

TODO

Edited by Ash McKenzie

Merge request reports