Consistent version/branch info, fix gitorigin

- Dev dist: mntm-(branch)-(commit)
- Dev version: mntm-dev
- Dev gitbranch: (branch)
- Tag dist: mntm-(ver)
- Tag version: mntm-(ver)
- Tag gitbranch: mntm-(ver)
- Consistent between CI and local
- Gitorigin falls back based on context
- MNTM settings header won't clip with custom branch names
- About fw info page shows dirty flag and branch when custom, in same layout as OFW
This commit is contained in:
Willy-JL
2024-06-01 08:31:53 +01:00
parent 4be9768e10
commit cb2714ebe5
6 changed files with 65 additions and 38 deletions

View File

@@ -351,13 +351,15 @@ MomentumApp* momentum_app_alloc() {
app->dolphin_angry = stats.butthurt;
furi_record_close(RECORD_DOLPHIN);
// Will be "(version) (commit or date)"
app->version_tag = furi_string_alloc_set(version_get_version(NULL));
size_t separator = furi_string_search_char(app->version_tag, '-', strlen("mntm-"));
Canvas* canvas = gui_direct_draw_acquire(app->gui); // Need canvas to calculate text length
size_t separator = furi_string_size(app->version_tag);
// Need canvas to calculate text length
Canvas* canvas = gui_direct_draw_acquire(app->gui);
canvas_set_font(canvas, FontPrimary);
if(separator != FURI_STRING_FAILURE) {
// Change second - to space
furi_string_set_char(app->version_tag, separator, ' ');
if(furi_string_equal(app->version_tag, "mntm-dev")) {
// Add space, add commit sha
furi_string_cat_printf(app->version_tag, " %s", version_get_githash(NULL));
// Make uppercase
for(size_t i = 0; i < furi_string_size(app->version_tag); ++i) {
furi_string_set_char(
@@ -369,7 +371,6 @@ MomentumApp* momentum_app_alloc() {
furi_string_left(app->version_tag, furi_string_size(app->version_tag) - 1);
}
} else {
separator = furi_string_size(app->version_tag);
// Make uppercase, add space, add build date
furi_string_replace(app->version_tag, "mntm", "MNTM");
furi_string_cat_printf(app->version_tag, " %s", version_get_builddate(NULL));

View File

@@ -171,21 +171,24 @@ static DialogMessageButton about_screen_fw_version(DialogsApp* dialogs, DialogMe
} else {
uint16_t api_major, api_minor;
furi_hal_info_get_api_version(&api_major, &api_minor);
furi_string_set(buffer, version_get_version(ver));
size_t sha_pos = furi_string_search_char(buffer, '-', strlen("mntm-"));
if(sha_pos != FURI_STRING_FAILURE) {
// Strip commit sha if present (non-release)
furi_string_left(buffer, sha_pos);
}
furi_string_cat_printf(
buffer,
" %s\n%s F%d:%d.%d %s\nmomentum-fw.dev",
"%s [%s]\n%s%s [%d.%d] %s\n[%d] ",
version_get_version(ver),
version_get_builddate(ver),
version_get_dirty_flag(ver) ? "[!] " : "",
version_get_githash(ver),
version_get_target(ver),
api_major,
api_minor,
c2_ver ? c2_ver->StackTypeString : "<none>");
c2_ver ? c2_ver->StackTypeString : "<none>",
version_get_target(ver));
if(!strcmp(version_get_version(ver), "mntm-dev") &&
strcmp(version_get_gitbranch(ver), "dev")) {
// Not a tag but not dev branch, show custom branch
furi_string_cat(buffer, version_get_gitbranch(ver));
} else {
furi_string_cat(buffer, "momentum-fw.dev");
}
}
dialog_message_set_header(message, "Firmware Info:", 0, 0, AlignLeft, AlignTop);