Skip to content
10 changes: 8 additions & 2 deletions .github/workflows/common_quickstart_framework.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,15 @@ permissions:
on:
workflow_call:
inputs:
# The product to test be tested (e.g. `ABTesting`).
# The product to be tested (e.g. `ABTesting`).
product:
required: true
type: string
# Optional. The scheme to be tested (e.g. `ABTesting (tvOS)`).
scheme:
required: false
type: string
default: ''
# The Run ID of a successful zip packaging workflow.
zip_run_id:
required: true
Expand Down Expand Up @@ -53,6 +58,7 @@ jobs:
env:
plist_secret: ${{ secrets.plist_secret }}
SDK: ${{ inputs.product }}
SCHEME: ${{ inputs.scheme }}
runs-on: ${{ inputs.os }}
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -82,7 +88,7 @@ jobs:
timeout_minutes: 15
max_attempts: 2
retry_wait_seconds: 120
command: ([ -z $plist_secret ] || scripts/test_quickstart_framework.sh "${SDK}")
command: ([ -z $plist_secret ] || scripts/test_quickstart_framework.sh "${SDK}" "${SCHEME}")
# Failure sequence to upload artifact.
- uses: actions/upload-artifact@v4
if: failure()
Expand Down
413 changes: 123 additions & 290 deletions .github/workflows/zip.yml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Script used by CI jobs to wrap xcodebuild invocations with options.

CI script to build binary versions of non-Firebase SDKs for QuickStart testing.

### [build_zip.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/build_zip.sh)
### [build_zip.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/zip/build_zip.sh)

CI script for building the zip distribution.

Expand Down Expand Up @@ -151,7 +151,7 @@ Install tooling for the check workflow.

Set up a QuickStart for integration testing.

### [setup_quickstart_framework.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/setup_quickstart_framework.sh)
### [setup_quickstart_framework.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/zip/setup_quickstart_framework.sh)

Set up a QuickStart for zip distribution testing.

Expand Down Expand Up @@ -191,7 +191,7 @@ Downloads mock response files for the Firebase AI Logic unit tests.

Tooling used by `build.sh` to get the log output for an `xcodebuild` invocation.

### [zip_quickstart_test.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/zip_quickstart_test.sh)
### [zip_quickstart_test.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/zip/zip_quickstart_test.sh)

Run the tests associated with a QuickStart with a zip distribution.

Expand Down
4 changes: 2 additions & 2 deletions scripts/test_quickstart_framework.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
set -xeuo pipefail

sample="$1"
platform="${2-}"
scheme="${2-}"

REPO=`pwd`

Expand All @@ -30,5 +30,5 @@ source scripts/check_secrets.sh

if check_secrets; then
cd quickstart-ios
have_secrets=true SAMPLE="$sample" "${REPO}"/scripts/zip_quickstart_test.sh
have_secrets=true SAMPLE="$sample" SCHEME="${scheme}" ${REPO}"/scripts/zip/zip_quickstart_test.sh"
fi
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ touch foo.swift
mkdir -p Firebase/
# Create non Firebase Frameworks and move to Firebase/ dir.
if [[ ! -z "$NON_FIREBASE_SDKS" ]]; then
REPO="${REPO}" NON_FIREBASE_SDKS="${NON_FIREBASE_SDKS}" "${REPO}"/scripts/build_non_firebase_sdks.sh
REPO="${REPO}" NON_FIREBASE_SDKS="${NON_FIREBASE_SDKS}" "${REPO}"/scripts/zip/build_non_firebase_sdks.sh
fi
if [ ! -f "Firebase/Firebase.h" ]; then
cp "${HOME}"/ios_frameworks/Firebase/Firebase.h Firebase/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,14 @@ else
device_name="iPhone 16"
fi

# Define project and scheme names
# Define project and, if needed, scheme.
PROJECT_NAME="${SAMPLE}Example.xcodeproj"
SCHEME_NAME="${SAMPLE}Example${SWIFT_SUFFIX}"
SCHEME_NAME="${SCHEME}"

if [[ -z "$SCHEME_NAME" ]]; then
SCHEME_NAME="${SAMPLE}Example"
echo "Defaulting scheme name to $SCHEME_NAME"
fi

# Check if the scheme exists before attempting to build.
# The `awk` command prints all lines from "Schemes:" to the end of the output.
Expand Down
Loading