Handle prerelease in Gitlab::VersionInfo

Problem to solve

Gitlab::VersionInfo are made of three variables : major, minor, patch.

There is no prerelease variable, but it could be useful.

Further details

For example issue #46050 (closed) propose to make those environment variable available to CI jobs: CI_SERVER_VERSION_MAJOR, CI_SERVER_VERSION_MINOR, CI_SERVER_VERSION_PATCH, CI_SERVER_VERSION_PRERELEASE. As of now, CI_SERVER_VERSION_MAJOR is missing.

One potential problem would be the printing of VersionInfo, currently it's to_s returns versions in 1.2.3 format , adding the prerelease in that output would change Gitlab outputs in the numerous places VersionInfo is used, we might not want that.

Proposal

Add a prerelease variable to Gitlab::VersionInfo

What does success look like, and how can we measure that?

A prerelease variable is available in Gitlab::VersionInfo

Links / references

#46050 (closed)