name: Prepare for signing a Darwin build
description: "Prepare for signing a Darwin build"
inputs:
  os:
    required: true
    description: "The OS to build for"

runs:
  using: "composite"
  steps:
  - name: Install the certificate in a temporary key-chain
    if: inputs.os == 'darwin'
    shell: bash
    run: |
      # create variables
      CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
      KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db

      # import certificate and provisioning profile from secrets
      echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH

      # 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 $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
      security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
      security list-keychain -d user -s $KEYCHAIN_PATH
