From 4b24349270f7cae68405b64aa4f905a5c605436a Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 18:16:04 -0400 Subject: [PATCH 01/11] [Infa] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index 9ae1b55291c..c236b24a648 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -22,12 +22,14 @@ if [ -f "${HOME}/.cocoapods/repos" ]; then find "${HOME}/.cocoapods/repos" -type d -maxdepth 1 -exec sh -c 'pod repo remove $(basename {})' \; fi -mkdir -p "${local_sdk_repo_dir}" -echo "git clone from github.com/firebase/firebase-ios-sdk.git to ${local_sdk_repo_dir}" -set +x -# Using token here to update tags later. -git clone -q https://"${BOT_TOKEN}"@github.com/firebase/firebase-ios-sdk.git "${local_sdk_repo_dir}" -set -x +if [ "$TESTINGMODE" = "release_testing" ]; then + mkdir -p "${local_sdk_repo_dir}" + echo "git clone from github.com/firebase/firebase-ios-sdk.git to ${local_sdk_repo_dir}" + set +x + # Using token here to update tags later. + git clone -q https://"${BOT_TOKEN}"@github.com/firebase/firebase-ios-sdk.git "${local_sdk_repo_dir}" + set -x +fi cd "${local_sdk_repo_dir}" # The chunk below is to determine the latest version by searching From 8beba2d8316af8e8e667120742d0486d163f4b1b Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 18:56:24 -0400 Subject: [PATCH 02/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index c236b24a648..9244c0ebc8c 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -29,9 +29,9 @@ if [ "$TESTINGMODE" = "release_testing" ]; then # Using token here to update tags later. git clone -q https://"${BOT_TOKEN}"@github.com/firebase/firebase-ios-sdk.git "${local_sdk_repo_dir}" set -x + cd "${local_sdk_repo_dir}" fi -cd "${local_sdk_repo_dir}" # The chunk below is to determine the latest version by searching # Get the latest released tag Cocoapods-X.Y.Z for release and prerelease testing, beta version will be excluded. test_version=$(git tag -l --sort=-version:refname --merged main CocoaPods-*[0-9] | head -n 1) From b53fc0a184f60b502fd8b506f510c4a4d338e975 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 18:59:49 -0400 Subject: [PATCH 03/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index 9244c0ebc8c..b46d96f2dbf 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -22,6 +22,11 @@ if [ -f "${HOME}/.cocoapods/repos" ]; then find "${HOME}/.cocoapods/repos" -type d -maxdepth 1 -exec sh -c 'pod repo remove $(basename {})' \; fi +pwd + +ls + + if [ "$TESTINGMODE" = "release_testing" ]; then mkdir -p "${local_sdk_repo_dir}" echo "git clone from github.com/firebase/firebase-ios-sdk.git to ${local_sdk_repo_dir}" From 69c90136b7e94c5e7e8a4372fc31064ddce48b4e Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:02:29 -0400 Subject: [PATCH 04/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index b46d96f2dbf..90ea0ce72d3 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -22,9 +22,9 @@ if [ -f "${HOME}/.cocoapods/repos" ]; then find "${HOME}/.cocoapods/repos" -type d -maxdepth 1 -exec sh -c 'pod repo remove $(basename {})' \; fi -pwd - ls +git status +exit 1 if [ "$TESTINGMODE" = "release_testing" ]; then From e1de215f6a24755c2adcbef00c05b79eb79591bd Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:08:03 -0400 Subject: [PATCH 05/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index 90ea0ce72d3..a930515ed89 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -22,11 +22,6 @@ if [ -f "${HOME}/.cocoapods/repos" ]; then find "${HOME}/.cocoapods/repos" -type d -maxdepth 1 -exec sh -c 'pod repo remove $(basename {})' \; fi -ls -git status -exit 1 - - if [ "$TESTINGMODE" = "release_testing" ]; then mkdir -p "${local_sdk_repo_dir}" echo "git clone from github.com/firebase/firebase-ios-sdk.git to ${local_sdk_repo_dir}" @@ -37,6 +32,9 @@ if [ "$TESTINGMODE" = "release_testing" ]; then cd "${local_sdk_repo_dir}" fi +git --no-pager log -n 5 --oneline main +exit 1 + # The chunk below is to determine the latest version by searching # Get the latest released tag Cocoapods-X.Y.Z for release and prerelease testing, beta version will be excluded. test_version=$(git tag -l --sort=-version:refname --merged main CocoaPods-*[0-9] | head -n 1) From c3caccd9e70090791e0c7cf3df39610b475c8f6c Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:12:12 -0400 Subject: [PATCH 06/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index a930515ed89..ac37a505190 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -32,8 +32,8 @@ if [ "$TESTINGMODE" = "release_testing" ]; then cd "${local_sdk_repo_dir}" fi -git --no-pager log -n 5 --oneline main -exit 1 +git fetch origin main +git checkout main # The chunk below is to determine the latest version by searching # Get the latest released tag Cocoapods-X.Y.Z for release and prerelease testing, beta version will be excluded. From 34ddfb6ed52c2ba2b68a7efa4385406c500c5606 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:16:04 -0400 Subject: [PATCH 07/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index ac37a505190..b9b33a013f8 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -38,6 +38,10 @@ git checkout main # The chunk below is to determine the latest version by searching # Get the latest released tag Cocoapods-X.Y.Z for release and prerelease testing, beta version will be excluded. test_version=$(git tag -l --sort=-version:refname --merged main CocoaPods-*[0-9] | head -n 1) +if [ -z "$test_version" ]; then + echo "Latest tag could not be found. Exiting." >&2 + exit 1 +fi git config --global user.email "google-oss-bot@example.com" git config --global user.name "google-oss-bot" From fc8581353da3d024a1f14f683bd01932bb53c5ec Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:17:44 -0400 Subject: [PATCH 08/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index b9b33a013f8..db0faf0229d 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -32,7 +32,7 @@ if [ "$TESTINGMODE" = "release_testing" ]; then cd "${local_sdk_repo_dir}" fi -git fetch origin main +git fetch --tags origin main git checkout main # The chunk below is to determine the latest version by searching From 82ad9ce98fc75a213aad9957ae5fefe5877e21d6 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:21:20 -0400 Subject: [PATCH 09/11] Update release_testing_setup.sh --- scripts/release_testing_setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/release_testing_setup.sh b/scripts/release_testing_setup.sh index db0faf0229d..5c2275c0dbe 100755 --- a/scripts/release_testing_setup.sh +++ b/scripts/release_testing_setup.sh @@ -30,11 +30,11 @@ if [ "$TESTINGMODE" = "release_testing" ]; then git clone -q https://"${BOT_TOKEN}"@github.com/firebase/firebase-ios-sdk.git "${local_sdk_repo_dir}" set -x cd "${local_sdk_repo_dir}" +elif [ "$TESTINGMODE" = "prerelease_testing" ]; then + git fetch --tags origin main + git checkout main fi -git fetch --tags origin main -git checkout main - # The chunk below is to determine the latest version by searching # Get the latest released tag Cocoapods-X.Y.Z for release and prerelease testing, beta version will be excluded. test_version=$(git tag -l --sort=-version:refname --merged main CocoaPods-*[0-9] | head -n 1) From 956033c184c176cdf95f491efbd542dd3a2d860f Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 31 Jul 2024 17:17:10 -0400 Subject: [PATCH 10/11] Stop using local_sdk_repo_dir (1) --- .github/workflows/prerelease.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 64fa76c89c2..d6e3b1948ad 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -20,10 +20,6 @@ jobs: runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # The SDK repo will be cloned to this dir and podspecs from - # 'podspec_repo_branch' of this repo will be validated and pushed to the - # testing repo. - local_sdk_repo_dir: /tmp/test/firebase-ios-sdk local_repo: specstesting podspec_repo_branch: main outputs: @@ -41,7 +37,6 @@ jobs: run: | test_version="${nightly_version}" \ sdk_version_config="${GITHUB_WORKSPACE}/scripts/create_spec_repo/RC_firebase_sdk.textproto" \ - local_sdk_repo_dir="${local_sdk_repo_dir}" \ podspec_repo_branch="${podspec_repo_branch}" \ scripts/release_testing_setup.sh prerelease_testing env: @@ -69,8 +64,8 @@ jobs: with: name: firebase-ios-sdk path: | - ${{ env.local_sdk_repo_dir }}/*.podspec - ${{ env.local_sdk_repo_dir }}/*.podspec.json + *.podspec + *.podspec.json buildup_SpecsTesting_repo_FirebaseCore: needs: specs_checking # Don't run on private repo unless it is a PR. From 9c0a270ee4cb36e841d1c8a332e73570707121f4 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 31 Jul 2024 18:02:24 -0400 Subject: [PATCH 11/11] Important - fix post-merge job attempt --- .github/workflows/prerelease.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index d6e3b1948ad..f7004fef2fb 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -158,7 +158,6 @@ jobs: env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} local_repo: specstesting - local_sdk_repo_dir: /tmp/test/firebase-ios-sdk podspec_repo_branch: main steps: - uses: actions/checkout@v4 @@ -171,7 +170,6 @@ jobs: # Update/create a nightly tag to the head of the main branch. test_version="${nightly_version}" \ sdk_version_config="${GITHUB_WORKSPACE}/scripts/create_spec_repo/RC_firebase_sdk.textproto" \ - local_sdk_repo_dir="${local_sdk_repo_dir}" \ podspec_repo_branch="${podspec_repo_branch}" \ scripts/release_testing_setup.sh prerelease_testing env: @@ -179,7 +177,6 @@ jobs: - name: Push updated podspecs run: | botaccess=`cat bot-access.txt` - cd "${local_sdk_repo_dir}" # Changes in post submit tests will be fetched by getting diff between # the HEAD and HEAD^ of the main branch. common_commit=$(git rev-parse HEAD^) @@ -200,7 +197,7 @@ jobs: cd scripts/create_spec_repo/ swift build pod repo add --silent "${local_repo}" https://"$botaccess"@github.com/Firebase/SpecsTesting.git - BOT_TOKEN="${botaccess}" .build/debug/spec-repo-builder --sdk-repo "${local_sdk_repo_dir}" --local-spec-repo-name "${local_repo}" --sdk-repo-name SpecsTesting --github-account Firebase --pod-sources 'https://${BOT_TOKEN}@github.com/Firebase/SpecsTesting' "https://github.com/firebase/SpecsDev.git" "https://github.com/firebase/SpecsStaging.git" "https://cdn.cocoapods.org/" "FirebaseFirestoreTestingSupport" "FirebaseAuthTestingSupport" "FirebaseCombineSwift" --keep-repo --include-pods "${updated_podspecs[@]}" + BOT_TOKEN="${botaccess}" .build/debug/spec-repo-builder --sdk-repo $(pwd) --local-spec-repo-name "${local_repo}" --sdk-repo-name SpecsTesting --github-account Firebase --pod-sources 'https://${BOT_TOKEN}@github.com/Firebase/SpecsTesting' "https://github.com/firebase/SpecsDev.git" "https://github.com/firebase/SpecsStaging.git" "https://cdn.cocoapods.org/" "FirebaseFirestoreTestingSupport" "FirebaseAuthTestingSupport" "FirebaseCombineSwift" --keep-repo --include-pods "${updated_podspecs[@]}" abtesting_quickstart: # Don't run on private repo unless it is a PR.