From db455e2ff67526c3a0e6fb788e9afa0907ca2dbd Mon Sep 17 00:00:00 2001 From: Ceylo Date: Sun, 20 Oct 2024 23:14:18 +0200 Subject: [PATCH] Retry certificates setup through mxcl/xcodebuild --- .github/workflows/build.yml | 32 +++----------------------------- .github/workflows/release.yml | 32 +++----------------------------- 2 files changed, 6 insertions(+), 58 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 514c7af..ad07bba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,35 +6,6 @@ jobs: steps: - name: Check out repository code uses: actions/checkout@v4 - - name: Install the Apple certificate and provisioning profile - env: - BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} - P12_PASSWORD: ${{ secrets.P12_PASSWORD }} - BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 - PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision - 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 - echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_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 - - # apply provisioning profile - mkdir -p ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles - cp $PP_PATH ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles - name: Update Secrets env: AMPLITUDE_API_KEY: ${{ secrets.AMPLITUDE_API_KEY }} @@ -46,6 +17,9 @@ jobs: with: action: none xcode: ~16.0 + code-sign-certificate: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + code-sign-certificate-passphrase: ${{ secrets.P12_PASSWORD }} + mobile-provisioning-profiles-base64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - name: Build App run: | xcodebuild -disableAutomaticPackageResolution -scheme FurAffinity -destination 'platform=iOS Simulator,name=iPhone 15' -configuration Release build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d29739..04d88ee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,35 +13,6 @@ jobs: steps: - name: Check out repository code uses: actions/checkout@v4 - - name: Install the Apple certificate and provisioning profile - env: - BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} - P12_PASSWORD: ${{ secrets.P12_PASSWORD }} - BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 - PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision - 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 - echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_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 - - # apply provisioning profile - mkdir -p ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles - cp $PP_PATH ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles - name: Update Secrets env: AMPLITUDE_API_KEY: ${{ secrets.AMPLITUDE_API_KEY }} @@ -53,6 +24,9 @@ jobs: with: action: none xcode: ~16.0 + code-sign-certificate: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + code-sign-certificate-passphrase: ${{ secrets.P12_PASSWORD }} + mobile-provisioning-profiles-base64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - name: Archive App run: | git_hash=$(git rev-parse --short "$GITHUB_SHA")