feat: Add PR number to version string on PR builds (#1887)
* Add PR number to version string * Testing another way * Decide according to GitHub ref type how to parse and where to output. Prioritize EDGETX_VERSION_TAG, if set, else resort to EDGETX_VERSION_SUFFIX, if set. Adjust also firmware_version and boot_version strings and adjist bootloader title. * Consider also B/W. * B&W: omit GIT SHA if tagged, otherwise own line Omit GIT SHA from version string if a tagged version. Otherwise, show on own line since is too long for 128x64 B&W displays. Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
+13
-5
@@ -7,14 +7,18 @@ set(VERSION_MINOR "8")
|
||||
set(VERSION_REVISION "0")
|
||||
set(CODENAME "dev")
|
||||
|
||||
if(DEFINED ENV{EDGETX_VERSION_SUFFIX})
|
||||
set(VERSION_SUFFIX "-$ENV{EDGETX_VERSION_SUFFIX}")
|
||||
if(DEFINED ENV{EDGETX_VERSION_TAG})
|
||||
set(VERSION_TAG "$ENV{EDGETX_VERSION_TAG}")
|
||||
else()
|
||||
set(VERSION_SUFFIX "-selfbuild") # If not defined, set suffix to selfbuild
|
||||
if(DEFINED ENV{EDGETX_VERSION_SUFFIX})
|
||||
set(VERSION_SUFFIX "$ENV{EDGETX_VERSION_SUFFIX}")
|
||||
else()
|
||||
set(VERSION_SUFFIX "selfbuild") # If not defined, set suffix to selfbuild
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(VERSION_FAMILY ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}${VERSION_SUFFIX})
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION})
|
||||
|
||||
option(EdgeTX_SUPERBUILD "Cross-compile EdgeTX for each toolchain" ON)
|
||||
include(ExternalProject)
|
||||
@@ -118,7 +122,11 @@ enable_language(ASM)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
|
||||
include(GenericDefinitions)
|
||||
|
||||
message(STATUS "EdgeTX ${VERSION} @ ${GIT_STR}")
|
||||
if (VERSION_TAG)
|
||||
message(STATUS "EdgeTX ${VERSION_TAG} @ ${GIT_STR}")
|
||||
else()
|
||||
message(STATUS "EdgeTX ${VERSION}-${VERSION_SUFFIX} @ ${GIT_STR}")
|
||||
endif()
|
||||
|
||||
if(NATIVE_BUILD)
|
||||
include(NativeTargets)
|
||||
|
||||
+33
-14
@@ -44,23 +44,31 @@
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
const char fw_stamp[] = "FW" TAB ": edgetx-" FLAVOUR;
|
||||
#if defined(RADIOMASTER_RELEASE) || defined(JUMPER_RELEASE)
|
||||
const char vers_stamp[] = "VERS" TAB ": Factory firmware (" GIT_STR ")";
|
||||
#else
|
||||
const char vers_stamp[] = "VERS" TAB ": " VERSION DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#endif
|
||||
const char date_stamp[] = "DATE" TAB ": " DATE;
|
||||
const char time_stamp[] = "TIME" TAB ": " TIME;
|
||||
const char cfgv_stamp[] = "CFGV" TAB ": " CFGV_STR;
|
||||
const char fw_stamp[] = "FW" TAB ": edgetx-" FLAVOUR;
|
||||
#if defined(RADIOMASTER_RELEASE) || defined(JUMPER_RELEASE)
|
||||
const char vers_stamp[] = "VERS" TAB ": Factory firmware (" GIT_STR ")";
|
||||
#else
|
||||
#if defined(VERSION_TAG)
|
||||
const char vers_stamp[] = "VERS" TAB ": " VERSION_TAG DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#else
|
||||
const char vers_stamp[] = "VERS" TAB ": " VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#endif
|
||||
#endif
|
||||
const char date_stamp[] = "DATE" TAB ": " DATE;
|
||||
const char time_stamp[] = "TIME" TAB ": " TIME;
|
||||
const char cfgv_stamp[] = "CFGV" TAB ": " CFGV_STR;
|
||||
#elif defined(BOARD_NAME)
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" BOARD_NAME "\036VERS" TAB ": " VERSION DISPLAY_VERSION " (" GIT_STR ")" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" BOARD_NAME "\036VERS" TAB ": " VERSION DISPLAY_VERSION " (" GIT_STR ")" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#elif defined(RADIOMASTER_RELEASE)
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": RM Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": RM Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#elif defined(JUMPER_RELEASE)
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#else
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION DISPLAY_VERSION " (" GIT_STR ")" "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#if defined(VERSION_TAG)
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION_TAG DISPLAY_VERSION "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#else
|
||||
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION "-" VERSION_SUFFIX DISPLAY_VERSION "\036GIT#" TAB ": " GIT_STR "\036DATE" TAB ": " DATE " " TIME "\036CFGV" TAB ": " CFGV_STR;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -68,11 +76,22 @@
|
||||
* @return
|
||||
*/
|
||||
#if defined(STM32) && !defined(SIMU)
|
||||
#if defined(COLORLCD)
|
||||
#if defined(VERSION_TAG)
|
||||
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION_TAG DISPLAY_VERSION " (" GIT_STR ")";
|
||||
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION_TAG DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#else
|
||||
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
|
||||
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#endif
|
||||
#else
|
||||
/* 128x64 does not have enough real estate to display more than basic VERSION */
|
||||
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION DISPLAY_VERSION " (" GIT_STR ")";
|
||||
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION DISPLAY_VERSION " (" GIT_STR ")";
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Tries to find opentx version in the first 1024 byte of either firmware/bootloader (the one not running) or the buffer
|
||||
* Tries to find EdgeTX or OpenTX version in the first 1024 byte of either firmware/bootloader (the one not running) or the buffer
|
||||
* @param buffer If non-null find the firmware version in the buffer instead
|
||||
*/
|
||||
const char * getFirmwareVersion(const char * buffer)
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#define DATE "@DATE@"
|
||||
#define TIME "@TIME@"
|
||||
#define VERSION "@VERSION@"
|
||||
#define VERSION_SUFFIX "@VERSION_SUFFIX@"
|
||||
#if defined(VERSION_TAG)
|
||||
#define VERSION_TAG "@VERSION_TAG@"
|
||||
#endif
|
||||
#define CODENAME "@CODENAME@"
|
||||
|
||||
#define VERSION_MAJOR @VERSION_MAJOR@
|
||||
|
||||
@@ -25,9 +25,17 @@
|
||||
#include "stamp.h"
|
||||
|
||||
#if LCD_W < 212
|
||||
#define BOOTLOADER_TITLE " Bootloader - " VERSION
|
||||
#if defined(VERSION_TAG)
|
||||
#define BOOTLOADER_TITLE " Bootloader - " VERSION_TAG
|
||||
#else
|
||||
#define BOOTLOADER_TITLE " Bootloader " VERSION "-" VERSION_SUFFIX
|
||||
#endif
|
||||
#else
|
||||
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION
|
||||
#if defined(VERSION_TAG)
|
||||
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION_TAG
|
||||
#else
|
||||
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION "-" VERSION_SUFFIX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define DISPLAY_CHAR_WIDTH (LCD_COLS+4)
|
||||
|
||||
+12
-6
@@ -48,14 +48,20 @@ fi
|
||||
|
||||
: ${SRCDIR:=$(dirname "$(pwd)/$0")/..}
|
||||
|
||||
gh_tag=${GITHUB_REF##*/}
|
||||
gh_branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
gh_type=$(echo "$GITHUB_REF" | awk -F / '{print $2}') #heads|tags|pull
|
||||
|
||||
if [[ -z $gh_tag ]];
|
||||
then
|
||||
export EDGETX_VERSION_SUFFIX=$gh_branch
|
||||
if [[ $gh_type = "tags" ]]; then
|
||||
# tags: refs/tags/<tag_name>
|
||||
gh_tag=${GITHUB_REF##*/}
|
||||
export EDGETX_VERSION_TAG=$gh_tag
|
||||
elif [[ $gh_type = "pull" ]]; then
|
||||
# pull: refs/pull/<pr_number>/merge
|
||||
gh_pull_number=PR$(echo "$GITHUB_REF" | awk -F / '{print $3}')
|
||||
export EDGETX_VERSION_SUFFIX=$gh_pull_number
|
||||
else
|
||||
export EDGETX_VERSION_SUFFIX=$gh_tag
|
||||
# heads: refs/heads/<branch_name>
|
||||
gh_branch=${GITHUB_REF##*/}
|
||||
export EDGETX_VERSION_SUFFIX=$gh_branch
|
||||
fi
|
||||
|
||||
: ${BUILD_TYPE:=Release}
|
||||
|
||||
Reference in New Issue
Block a user