diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index c3fe9919..dbf4a816 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -109,15 +109,34 @@ jobs: mv dist/release/yao-$VERSION-dev-darwin-amd64 dist/release/yao-$VERSION-unstable-darwin-amd64 - name: Install Certificates + env: + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + run: | mkdir -p certs - echo "${{ secrets.APPLE_DEVELOPERIDG2CA }}" | base64 --decode > certs/DeveloperIDG2CA.cer - echo "${{ secrets.APPLE_DISTRIBUTION }}" | base64 --decode > certs/distribution.cer + echo "${{ secrets.APPLE_DEVELOPERIDG2CA }}" | base64 --decode > certs/DeveloperIDG2CA.cer + echo "${{ secrets.APPLE_DISTRIBUTION }}" | base64 --decode > certs/distribution.cer + echo "${{ secrets.APPLE_PRIVATE_KEY }}" | base64 --decode > certs/private_key.p12 + security verify-cert -c certs/DeveloperIDG2CA.cer + security verify-cert -c certs/distribution.cer - name: Import Certificates run: | - security import ./certs/DeveloperIDG2CA.cer -k ~/Library/Keychains/login.keychain-db -T /usr/bin/codesign - security import ./certs/distribution.cer -k ~/Library/Keychains/login.keychain-db -T /usr/bin/codesign + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import ./certs/DeveloperIDG2CA.cer -k $KEYCHAIN_PATH -T /usr/bin/codesign + security import ./certs/distribution.cer -k $KEYCHAIN_PATH -T /usr/bin/codesign + + # import private key to keychain + security import ./certs/private_key.p12 -k $KEYCHAIN_PATH -P "${{ secrets.APPLE_PRIVATE_KEY_PASSWORD }}" -T /usr/bin/codesign + + security list-keychain -d user -s $KEYCHAIN_PATH - name: Sign Artifacts run: |