Versionning and auto release

This commit is contained in:
Julien Wadel 2022-04-25 16:03:50 +02:00
parent 0965e88615
commit da7bd4464a
11 changed files with 44 additions and 26 deletions

View file

@ -117,7 +117,7 @@ job-debian9-makefile-clang-package:
- $PACKAGE_LINUX
- $DEPLOY_LINUX
variables:
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER
CMAKE_GENERATOR: Unix Makefiles
CC: clang
CXX: clang++
@ -142,7 +142,7 @@ job-debian9-makefile-clang-package:
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
artifacts:
paths:
- build/OUTPUT/Packages/*.AppImage
- build/OUTPUT/*
expire_in: 1 week
#################################################
@ -159,7 +159,8 @@ job-debian9-makefile-clang-deploy:
- $NIGHTLY_MASTER
- $DEPLOY_LINUX
script:
- rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
- rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
- rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
job-debian9-makefile-clang-plugins-deploy:
@ -171,7 +172,7 @@ job-debian9-makefile-clang-plugins-deploy:
variables:
- $DEPLOY_PLUGINS
script:
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/plugins/
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER/plugins/
#################################################
# Debug

View file

@ -96,7 +96,7 @@ job-macosx-makefile-package:
- $PACKAGE_MACOSX
- $DEPLOY_MACOSX
variables:
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOS_PLATFORM/$APP_FOLDER
extends: job-macosx-makefile
script:
- *build_all_script
@ -142,7 +142,8 @@ job-macosx-makefile-deploy:
- $NIGHTLY_MASTER
- $DEPLOY_MACOSX
script:
- rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$MACOSX_UPLOAD_DIRECTORY
- rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
- rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
job-macosx-makefile-plugins-deploy:
@ -154,5 +155,5 @@ job-macosx-makefile-plugins-deploy:
variables:
- $DEPLOY_PLUGINS
script:
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$MACOSX_UPLOAD_DIRECTORY/plugins
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins

View file

@ -156,7 +156,7 @@ vs2019-win64-package:
- if: $PACKAGE_WINDOWS
- if: $DEPLOY_WINDOWS
variables:
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DENABLE_G729=ON
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$WINDOWS_PLATFORM/$APP_FOLDER
#################################################
@ -172,7 +172,8 @@ vs2019-win64-upload:
needs:
- vs2019-win64-package
script:
- scp "build-desktop/OUTPUT/Packages/*.exe" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%"
- scp "build-desktop/OUTPUT/Packages/*.exe" "%DEPLOY_SERVER%:%UPLOAD_ROOT_PATH%/%WINDOWS_PLATFORM%/%APP_FOLDER%
- scp "build-desktop/OUTPUT/RELEASE" "%DEPLOY_SERVER%:%UPLOAD_ROOT_PATH%/%WINDOWS_PLATFORM%/
vs2019-win64-plugins-upload:

View file

@ -114,6 +114,8 @@ option(ENABLE_APP_LICENSE "Enable the license in packages." YES)
#Webview is not fully supported because of deployments. Used for subscription.
option(ENABLE_APP_WEBVIEW "Enable webviews." NO)
option(LINPHONE_SDK_MAKE_RELEASE_FILE_URL "Make a RELEASE file that work along check_version and use this URL" "")
if(WIN32 OR APPLE)
@ -142,6 +144,9 @@ list(APPEND APP_OPTIONS "-DENABLE_APP_LICENSE=${ENABLE_APP_LICENSE}")
list(APPEND APP_OPTIONS "-DENABLE_LDAP=${ENABLE_LDAP}")
list(APPEND APP_OPTIONS "-DENABLE_APP_WEBVIEW=${ENABLE_APP_WEBVIEW}")
list(APPEND APP_OPTIONS "-DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=${LINPHONE_SDK_MAKE_RELEASE_FILE_URL}")
if(ENABLE_V4L)

View file

@ -62,7 +62,7 @@ if( "${CURRENT_YEAR}" STREQUAL "${APPLICATION_START_LICENCE}")
else()
set(COPYRIGHT_RANGE_DATE "${APPLICATION_START_LICENCE}-${CURRENT_YEAR}")
endif()
set(APPLICATION_SEMVER ${FULL_VERSION})
if(WIN32)
set(EXECUTABLE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_DIR} )

View file

@ -50,14 +50,18 @@ if (GIT_EXECUTABLE AND NOT(APP_PROJECT_VERSION))
elseif (NOT(APP_PROJECT_VERSION))
set(APP_PROJECT_VERSION "0.0.0")
endif ()
string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}")
string(REPLACE "." ";" SPLITTED_LINPHONE_VERSION "${LINPHONE_VERSION}")
list(LENGTH SPLITTED_LINPHONE_VERSION SPLITTED_LINPHONE_VERSION_LENGTH)
list(GET SPLITTED_LINPHONE_VERSION 0 LINPHONE_MAJOR_VERSION)
list(GET SPLITTED_LINPHONE_VERSION 1 LINPHONE_MINOR_VERSION)
if (SPLITTED_LINPHONE_VERSION_LENGTH GREATER 2)
list(GET SPLITTED_LINPHONE_VERSION 2 LINPHONE_MICRO_VERSION)
endif ()
bc_parse_full_version(${APP_PROJECT_VERSION} LINPHONE_MAJOR_VERSION LINPHONE_MINOR_VERSION LINPHONE_MICRO_VERSION LINPHONE_BRANCH_VERSION)
set(LINPHONE_VERSION ${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION})
#string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}")
#string(REPLACE "." ";" SPLITTED_LINPHONE_VERSION "${LINPHONE_VERSION}")
#list(LENGTH SPLITTED_LINPHONE_VERSION SPLITTED_LINPHONE_VERSION_LENGTH)
#list(GET SPLITTED_LINPHONE_VERSION 0 LINPHONE_MAJOR_VERSION)
#list(GET SPLITTED_LINPHONE_VERSION 1 LINPHONE_MINOR_VERSION)
#if (SPLITTED_LINPHONE_VERSION_LENGTH GREATER 2)
# list(GET SPLITTED_LINPHONE_VERSION 2 LINPHONE_MICRO_VERSION)
#endif ()
set(PACKAGE_VERSION "${APP_PROJECT_VERSION}")
message(STATUS "Versions : ${APP_PROJECT_VERSION}, ${LINPHONE_VERSION}")
# ==============================================================================
@ -329,6 +333,8 @@ if (MSVC)
# endif ()
endif ()
# ==============================================================================
# CPack.
# ==============================================================================
@ -363,15 +369,17 @@ if(${ENABLE_APP_PACKAGING})
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone_dmg.scpt.in" "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt" @ONLY)
set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt")
set(CPACK_BINARY_DRAGNDROP ON)
set(PACKAGE_EXT "dmg")
message(STATUS "Set DragNDrop CPack generator in OUTPUT/Packages")
elseif(NOT(WIN32))
set(DO_APPIMAGE YES)
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}")
set(PACKAGE_EXT "AppImage")
message(STATUS "Set AppImage CPack generator in OUTPUT/Packages")
else()
set(CPACK_GENERATOR "NSIS")
set(DO_GENERATOR YES)
set(PACKAGE_EXT "exe")
string(COMPARE EQUAL ${CPACK_GENERATOR} "NSIS" IS_NSIS)
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}-${BIN_ARCH}")
if (${IS_NSIS})
@ -409,7 +417,6 @@ if(${ENABLE_APP_PACKAGING})
message(STATUS "Set NSIS CPack generator in OUTPUT/Packages")
else ()
set(PACKAGE_EXT "msi")
set(CPACK_WIX_UPGRADE_GUID "C748668E-53D0-4088-A548-E33A76615A3B")
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico")
set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${APPLICATION_URL}")
@ -446,9 +453,13 @@ if(${ENABLE_APP_PACKAGING})
message(STATUS "No signtool certificate found; assuming development machine (${PFX_FILE})")
endif ()
endif ()
endif()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/packaging.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/packaging.cmake" @ONLY)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/packaging.cmake")
if(LINPHONE_SDK_MAKE_RELEASE_FILE_URL)
bc_make_release_file("${APP_PROJECT_VERSION}" "${LINPHONE_SDK_MAKE_RELEASE_FILE_URL}/${CPACK_PACKAGE_FILE_NAME}.${PACKAGE_EXT}")
endif()
include(CPack)
endif()

View file

@ -1058,6 +1058,6 @@ void App::checkForUpdate() {
void App::checkForUpdates(bool force) {
if(force || CoreManager::getInstance()->getSettingsModel()->isCheckForUpdateEnabled())
CoreManager::getInstance()->getCore()->checkForUpdate(
Utils::appStringToCoreString(getStrippedApplicationVersion())
Utils::appStringToCoreString(applicationVersion())
);
}

View file

@ -29,8 +29,6 @@
#include <QtWebView>
#endif
#include "gitversion.h"
#include "AppController.hpp"
#include "components/other/desktop-tools/DesktopTools.hpp"
@ -53,7 +51,7 @@ AppController::AppController (int &argc, char *argv[]) {
// The EXECUTABLE_NAME will be used in qt standard paths. It's our goal.
QCoreApplication::setApplicationName(EXECUTABLE_NAME);
QApplication::setOrganizationDomain(EXECUTABLE_NAME);
QCoreApplication::setApplicationVersion(LINPHONE_QT_GIT_VERSION);
QCoreApplication::setApplicationVersion(APPLICATION_SEMVER);
#ifdef ENABLE_APP_WEBVIEW
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
mApp = new App(argc, argv);

View file

@ -289,7 +289,7 @@ void ParticipantDeviceListModel::onConferenceStateChanged(linphone::Conference::
void ParticipantDeviceListModel::onParticipantDeviceMediaCapabilityChanged(const std::shared_ptr<const linphone::ParticipantDevice> & participantDevice){
auto device = get(participantDevice);
if(device)
emit device->videoEnabledChanged();
device->updateVideoEnabled();
else
onParticipantDeviceAdded(participantDevice);
device = get(participantDevice);

View file

@ -26,6 +26,7 @@
#cmakedefine APPLICATION_VENDOR "${APPLICATION_VENDOR}"
#cmakedefine APPLICATION_URL "${APPLICATION_URL}"
#cmakedefine APPLICATION_LICENCE "${APPLICATION_LICENCE}"
#cmakedefine APPLICATION_SEMVER "${APPLICATION_SEMVER}"
#cmakedefine COPYRIGHT_RANGE_DATE "${COPYRIGHT_RANGE_DATE}"
#cmakedefine ENABLE_UPDATE_CHECK 1
#cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}"

@ -1 +1 @@
Subproject commit 4afd627aece46fb9803116844dba9132ec82772a
Subproject commit 809b278c08b43c821205d4f4ef4c86b2de49d393