Skip to content

Instantly share code, notes, and snippets.

@qkdxorjs1002
Last active August 11, 2021 08:08
Show Gist options
  • Save qkdxorjs1002/011fbeceb03460e18fe770e16a1466fd to your computer and use it in GitHub Desktop.
Save qkdxorjs1002/011fbeceb03460e18fe770e16a1466fd to your computer and use it in GitHub Desktop.
Github Actions mac code signing configuration

workflow config

      - name: Install the Apple certificate and provisioning profile
        env:
          BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
          P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
          KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
        run: |
          CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
          KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
          echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
          security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
          security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
          security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
          security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
          security list-keychain -d user -s $KEYCHAIN_PATH

Make .p12 BASE64

# import .p12 from keychain access with random password
$ base64 build_certificate.p12 | pbcopy

Repo Actions Secrets

BUILD_CERTIFICATE_IDENTITY
BUILD_CERTIFICATE_BASE64
P12_PASSWORD
KEYCHAIN_PASSWORD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment