Duplicated CI jobs to generated one binary for MacOSX arm64 and another one for x86_64

This commit is contained in:
Sylvain Berfini 2026-03-10 16:45:08 +01:00
parent 9aa5e1d8b3
commit e6b752879a
2 changed files with 68 additions and 8 deletions

View file

@ -92,8 +92,7 @@ macosx-ninja-novideo:
#################################################
# Package - Nightly
#################################################
# WAIT for QT6 for arm64
macosx-ninja-package:
macosx-ninja-package-arm64:
stage: package
tags: [ "macos-min-xcode15" ]
needs: []
@ -104,7 +103,7 @@ macosx-ninja-package:
- if: $PACKAGE_MACOSX
- if: $DEPLOY_MACOSX
variables:
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON -DBUGSPLAT_CLIENT_ID=$BUGSPLAT_CLIENT_ID -DBUGSPLAT_CLIENT_SECRET=$BUGSPLAT_CLIENT_SECRET -DBUGSPLAT_DATABASE=$BUGSPLAT_DATABASE
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DLINPHONEAPP_MACOS_ARCHS=arm64 -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON -DBUGSPLAT_CLIENT_ID=$BUGSPLAT_CLIENT_ID -DBUGSPLAT_CLIENT_SECRET=$BUGSPLAT_CLIENT_SECRET -DBUGSPLAT_DATABASE=$BUGSPLAT_DATABASE
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER
extends: macosx-ninja
script:
@ -117,11 +116,56 @@ macosx-ninja-package:
when: always
expire_in: 1 week
macosx-codesigning:
macosx-ninja-package-x86:
stage: package
tags: [ "macos-min-xcode15" ]
needs: []
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null
- if: $NIGHTLY_MASTER
- if: $PACKAGE_MACOSX
- if: $DEPLOY_MACOSX
variables:
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DLINPHONEAPP_MACOS_ARCHS=x86_64 -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON -DBUGSPLAT_CLIENT_ID=$BUGSPLAT_CLIENT_ID -DBUGSPLAT_CLIENT_SECRET=$BUGSPLAT_CLIENT_SECRET -DBUGSPLAT_DATABASE=$BUGSPLAT_DATABASE
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER
extends: macosx-ninja
script:
- if [[ $MAKE_RELEASE_FILE_URL == "" ]]; then export RELEASE_FILE=""; fi
- *build_all_script
artifacts:
when: always
paths:
- build/OUTPUT/*
when: always
expire_in: 1 week
macosx-codesigning-arm64:
stage: signing
tags: [ "macos-min-xcode15" ]
needs:
- macosx-ninja-package
- macosx-ninja-package-arm64
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
- if: $PACKAGE_MACOSX
- if: $DEPLOY_MACOSX
script:
- cd build
- codesign --timestamp --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/macos/Packages/Linphone*.dmg
- ./../cmake/install/macos/app_notarization.sh
artifacts:
when: always
paths:
- build/OUTPUT/*
when: always
expire_in: 1 week
macosx-codesigning-x86:
stage: signing
tags: [ "macos-min-xcode15" ]
needs:
- macosx-ninja-package-x86
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
@ -142,11 +186,11 @@ macosx-codesigning:
# Deploy - Nightly
#################################################
macosx-deploy:
macosx-deploy-arm64:
stage: deploy
tags: [ "macos-min-xcode15" ]
needs:
- macosx-codesigning
- macosx-codesigning-arm64
only:
variables:
- $NIGHTLY_MASTER
@ -159,6 +203,22 @@ macosx-deploy:
rsync -rlv build/OUTPUT/macos/Packages/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
fi
macosx-deploy-x86:
stage: deploy
tags: [ "macos-min-xcode15" ]
needs:
- macosx-codesigning-x86
only:
variables:
- $NIGHTLY_MASTER
- $DEPLOY_MACOSX
script:
- rsync -rlv --ignore-existing build/OUTPUT/macos/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
- |-
if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
rsync -rlv build/OUTPUT/macos/Packages/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
rsync -rlv build/OUTPUT/macos/Packages/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
fi
macosx-makefile-plugins-deploy:
stage: deploy

View file

@ -211,7 +211,7 @@ if(${ENABLE_APP_PACKAGING})
##############################################
# APPLE
##############################################
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}-mac")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION}-mac-${CMAKE_SYSTEM_PROCESSOR}")
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_SOURCE_DIR}/cmake/install/macos/background_dmg.jpg")
configure_file("${CMAKE_SOURCE_DIR}/cmake/install/macos/linphone_dmg.scpt.in" "${CMAKE_BINARY_DIR}/cmake/install/macos/linphone_dmg.scpt" @ONLY)
set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_BINARY_DIR}/cmake/install/macos/linphone_dmg.scpt")