hydrogen-music / hydrogen

The advanced drum machine for Linux, macOS, and Windows
http://www.hydrogen-music.org
GNU General Public License v2.0
1.04k stars 173 forks source link

Rework develop build versioning #1894

Closed theGreatWhiteShark closed 11 months ago

theGreatWhiteShark commented 11 months ago

Previously the version of a develop build was only suffixed with an abbreviated commit hash within Hydrogen itself. The binaries produced by build pipelines only contained the raw target version. E.g. a binary "Hydrogen-1.2.2-win64.exe" showed version "Hydrogen-1.2.2-2a78f9c" internally. That a) may confuse users so they mistake it for an officially released version (actually happened in an issue), b) makes it harder for users/us to report the proper version used/correlate it with the underlying sources, and c) is annoying as multiple test binaries end up in the Download folder and things will be confusing.

Instead, the same version string shown internally is now also used to name all binaries produced by the build pipelines.

I did slight changes in the format of the version string:

In addition, the internal cmake variable DISPLAY_VERSION_PIPELINE was introduced using which the construction of a DISPLAY_VERSION within CMake can be bypassed. This is added as an auxiliary measure so the pipelines will always know the name of the created (Windows) artifacts and both the artifacts name and the version displayed inside do match.

Nevertheless, the TARGET_VERSION in .appyevor and major, minor, patch in CMakeLists.txt must still match.