From fd294bbfd664cbc8cbbdc9c4238ceaa753e1d60e Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Tue, 14 Nov 2023 08:47:19 -0800 Subject: [PATCH 1/3] Add Xcode 15 CI for zip qs tests --- .github/workflows/zip.yml | 122 ++++++++++++++++++++++++++++++++++---- 1 file changed, 111 insertions(+), 11 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 902f3248966..0daca114d4c 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -101,7 +101,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "ABTesting" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -116,6 +124,8 @@ jobs: mkdir -p "${HOME}"/ios_frameworks/ find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v3 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup quickstart env: LEGACY: true @@ -153,7 +163,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Authentication" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -167,6 +185,8 @@ jobs: run: | mkdir -p "${HOME}"/ios_frameworks/ find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup Swift Quickstart run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ @@ -197,7 +217,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Config" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -211,6 +239,8 @@ jobs: run: | mkdir -p "${HOME}"/ios_frameworks/ find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup Swift Quickstart run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ @@ -239,7 +269,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Crashlytics" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -254,6 +292,8 @@ jobs: mkdir -p "${HOME}"/ios_frameworks/ find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v3 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup quickstart env: LEGACY: true @@ -304,7 +344,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Database" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -319,6 +367,8 @@ jobs: mkdir -p "${HOME}"/ios_frameworks/ find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v3 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup quickstart run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ @@ -350,7 +400,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "DynamicLinks" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -368,6 +426,8 @@ jobs: run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup Swift Quickstart run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - name: Update Environment Variable For DynamicLinks @@ -400,7 +460,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Firestore" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -421,6 +489,8 @@ jobs: "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Install Secret GoogleService-Info.plist run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret" @@ -442,7 +512,7 @@ jobs: env: FRAMEWORK_DIR: "Firebase-actions-dir" FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - runs-on: macos-12 + runs-on: macos-13 steps: - name: Xcode 14.1 run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer @@ -476,7 +546,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "InAppMessaging" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -496,6 +574,8 @@ jobs: "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup swift quickstart run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - name: Install Secret GoogleService-Info.plist @@ -523,7 +603,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Messaging" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -542,6 +630,8 @@ jobs: run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup swift quickstart run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - name: Install Secret GoogleService-Info.plist @@ -569,7 +659,15 @@ jobs: signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FRAMEWORK_DIR: "Firebase-actions-dir" SDK: "Storage" - runs-on: macos-12 + strategy: + matrix: + os: [macos-12, macos-13] + include: + - os: macos-12 + xcode: Xcode_14.2 + - os: macos-13 + xcode: Xcode_15.0.1 + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get framework dir @@ -591,6 +689,8 @@ jobs: "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Setup swift quickstart env: LEGACY: true From 2d4de24cd76f9e58df56e298b4909c0af679534f Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Wed, 15 Nov 2023 16:27:28 -0800 Subject: [PATCH 2/3] Only build quickstarts for zip testing --- scripts/zip_quickstart_test.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/zip_quickstart_test.sh b/scripts/zip_quickstart_test.sh index 5033c637afc..3fb13ebac88 100755 --- a/scripts/zip_quickstart_test.sh +++ b/scripts/zip_quickstart_test.sh @@ -36,7 +36,6 @@ xcodebuild \ -scheme ${SAMPLE}Example${SWIFT_SUFFIX} \ -destination 'platform=iOS Simulator,name=iPhone 14' "SWIFT_VERSION=5.3" "OTHER_LDFLAGS=\$(OTHER_LDFLAGS) -ObjC" "FRAMEWORK_SEARCH_PATHS= \$(PROJECT_DIR)/Firebase/" HEADER_SEARCH_PATHS='$(PROJECT_DIR)/Firebase' \ build \ -test \ ) || EXIT_STATUS=$? exit $EXIT_STATUS From 7ea4c94c6c65eaec6e62db20f8febac1bb4547b9 Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Thu, 16 Nov 2023 06:43:14 -0800 Subject: [PATCH 3/3] Disable RTDB and Firestore for XC15 --- .github/workflows/zip.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 0daca114d4c..6de8811b078 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -346,12 +346,13 @@ jobs: SDK: "Database" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-12] include: - os: macos-12 xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.0.1 + # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. + # - os: macos-13 + # xcode: Xcode_15.0.1 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -462,12 +463,13 @@ jobs: SDK: "Firestore" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-12] include: - os: macos-12 xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.0.1 + # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. + # - os: macos-13 + # xcode: Xcode_15.0.1 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3