@@ -349,6 +349,57 @@ test_x86_64-linux-gnu:
349349 # run testsuite for esp32
350350 - ./run_esp32_tests.sh
351351
352+ .macos_codesign : &macos_codesign
353+ stage : sign
354+ tags : [ "darwin", "amd64" ]
355+ resource_group : macos_codesign
356+ artifacts :
357+ paths :
358+ - ${DIST_DIR}/
359+ when : always
360+ expire_in : 3 day
361+ variables :
362+ KEYCHAIN_NAME : " llvm.keychain"
363+ ARCHIVE_TOOL : " ${ARCHIVE_TOOL_MACOS}"
364+ UNARCHIVE_TOOL : " ${UNARCHIVE_TOOL_MACOS}"
365+ ARCHIVE_EXT : " ${ARCHIVE_EXT_MACOS}"
366+ script :
367+ - *get_release_name
368+ - ${UNARCHIVE_TOOL} ${DIST_DIR}/${ARCHIVE_NAME}
369+ - rm -rf ${DIST_DIR}
370+ - TOOLCHAIN_PATH=$PWD/esp-clang
371+ - echo $MACOS_CERTIFICATE | base64 --decode > $PWD/certificate.p12
372+ - security create-keychain -p $KEYCHAIN_PWD $KEYCHAIN_NAME || true
373+ - security import $PWD/certificate.p12 -k $KEYCHAIN_NAME -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
374+ - security set-key-partition-list -S apple-tool:,apple:,codesign -s -k $KEYCHAIN_PWD $KEYCHAIN_NAME
375+ - security list-keychains -d user -s ~/Library/Keychains/$KEYCHAIN_NAME
376+ - security find-identity -v -p codesigning
377+ - security unlock-keychain -p $KEYCHAIN_PWD $KEYCHAIN_NAME
378+ - /usr/bin/codesign -v --force --options runtime -s $IDENTITY_ID $TOOLCHAIN_PATH/bin/* $TOOLCHAIN_PATH/lib/*.dylib
379+ - security delete-keychain $KEYCHAIN_NAME
380+ - codesign -dvv $TOOLCHAIN_PATH/bin/*
381+ - DISTRO_DIR=$PWD/${DIST_DIR}
382+ - *package_toolchain
383+ - *package_libs
384+ after_script :
385+ - security find-identity -v
386+ - security delete-keychain $KEYCHAIN_NAME
387+ - security find-identity -v
388+
389+ sign_x86_64-apple-darwin :
390+ extends : .macos_codesign
391+ needs :
392+ - pack_x86_64-apple-darwin
393+ variables :
394+ PLATFORM_NAME : " ${PLATFORM_NAME_MACOS}"
395+
396+ sign_aarch64-apple-darwin :
397+ extends : .macos_codesign
398+ needs :
399+ - pack_aarch64-apple-darwin
400+ variables :
401+ PLATFORM_NAME : " ${PLATFORM_NAME_MACOS_ARM64}"
402+
352403upload_to_http :
353404 stage : private_deploy
354405 when : manual
@@ -362,8 +413,8 @@ upload_to_http:
362413 - job : pack_arm-linux-gnueabihf
363414 - job : pack_aarch64-linux-gnu
364415 - job : pack_x86_64-w64-mingw32
365- - job : pack_x86_64 -apple-darwin
366- - job : pack_aarch64 -apple-darwin
416+ - job : sign_x86_64 -apple-darwin
417+ - job : sign_aarch64 -apple-darwin
367418 before_script :
368419 - !reference [.use_ci_tools, script]
369420 script :
@@ -394,8 +445,8 @@ upload_to_github:
394445 - job : pack_arm-linux-gnueabihf
395446 - job : pack_aarch64-linux-gnu
396447 - job : pack_x86_64-w64-mingw32
397- - job : pack_x86_64 -apple-darwin
398- - job : pack_aarch64 -apple-darwin
448+ - job : sign_x86_64 -apple-darwin
449+ - job : sign_aarch64 -apple-darwin
399450 before_script : []
400451 script :
401452 - ls -l dist*/
0 commit comments