Skip to content

Commit 9840a97

Browse files
committed
esp/ci: Adds MacOS binaries signing stage
1 parent ab29eaa commit 9840a97

File tree

2 files changed

+56
-4
lines changed

2 files changed

+56
-4
lines changed

.gitlab-ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
stages:
22
- build
33
- pack
4+
- sign
45
- private_deploy
56
- test
67
- public_deploy

.universal-toolchain-release.yml

+55-4
Original file line numberDiff line numberDiff line change
@@ -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+
352403
upload_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

Comments
 (0)