From 846402577525014d423d8984fb2269318f8377ba Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 1 Aug 2025 15:02:27 -0400 Subject: [PATCH 1/2] [DNM] Attempt to repro signing issue on CI --- .github/workflows/auth.yml | 129 +++++++++--------- .../project.pbxproj | 17 ++- 2 files changed, 76 insertions(+), 70 deletions(-) diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 03e8b2526f2..222a8ede027 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -22,32 +22,33 @@ on: env: FIREBASE_CI: true -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} - cancel-in-progress: true +#concurrency: +# group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} +# cancel-in-progress: true jobs: spm: uses: ./.github/workflows/common.yml with: target: AuthUnit - buildonly_platforms: macOS + platforms: iOS +# buildonly_platforms: macOS - catalyst: - uses: ./.github/workflows/common_catalyst.yml - with: - product: FirebaseAuth - target: FirebaseAuth-Unit-unit - buildonly: true - - pod_lib_lint: - strategy: - matrix: - product: [FirebaseAuthInterop, FirebaseAuth] - uses: ./.github/workflows/common_cocoapods.yml - with: - product: ${{ matrix.product }} - buildonly_platforms: macOS +# catalyst: +# uses: ./.github/workflows/common_catalyst.yml +# with: +# product: FirebaseAuth +# target: FirebaseAuth-Unit-unit +# buildonly: true +# +# pod_lib_lint: +# strategy: +# matrix: +# product: [FirebaseAuthInterop, FirebaseAuth] +# uses: ./.github/workflows/common_cocoapods.yml +# with: +# product: ${{ matrix.product }} +# buildonly_platforms: macOS integration-tests: # Don't run on private repo unless it is a PR. @@ -92,24 +93,24 @@ jobs: retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }}) - quickstart: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup quickstart - run: scripts/setup_quickstart.sh authentication - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \ - quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" - - name: Test swift quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Authentication false) +# quickstart: +# # Don't run on private repo unless it is a PR. +# if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' +# +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# runs-on: macos-15 +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup quickstart +# run: scripts/setup_quickstart.sh authentication +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \ +# quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" +# - name: Test swift quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Authentication false) # TODO(@sunmou99): currently have issue with this job, will re-enable it once the issue resolved. # quickstart-ftl-cron-only: @@ -140,30 +141,30 @@ jobs: # testapp_dir: quickstart-ios/build-for-testing # test_type: "xctest" - auth-cron-only: - # Don't run on private repo. - if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - - runs-on: macos-15 - strategy: - matrix: - # The macos and tvos tests can hang, and watchOS doesn't have tests. - target: [ios, tvos --skip-tests, macos --skip-tests, watchos --skip-tests] - flags: [ - '--use-static-frameworks' - ] - needs: pod_lib_lint - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Configure test keychain - run: scripts/configure_test_keychain.sh - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} +# auth-cron-only: +# # Don't run on private repo. +# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' +# +# runs-on: macos-15 +# strategy: +# matrix: +# # The macos and tvos tests can hang, and watchOS doesn't have tests. +# target: [ios, tvos --skip-tests, macos --skip-tests, watchos --skip-tests] +# flags: [ +# '--use-static-frameworks' +# ] +# needs: pod_lib_lint +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup Bundler +# run: scripts/setup_bundler.sh +# - name: Configure test keychain +# run: scripts/configure_test_keychain.sh +# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 +# with: +# timeout_minutes: 120 +# max_attempts: 3 +# retry_on: error +# retry_wait_seconds: 120 +# command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/FirebaseAuth/Tests/SampleSwift/AuthenticationExample.xcodeproj/project.pbxproj b/FirebaseAuth/Tests/SampleSwift/AuthenticationExample.xcodeproj/project.pbxproj index c34b5cec198..60756d802f3 100644 --- a/FirebaseAuth/Tests/SampleSwift/AuthenticationExample.xcodeproj/project.pbxproj +++ b/FirebaseAuth/Tests/SampleSwift/AuthenticationExample.xcodeproj/project.pbxproj @@ -33,7 +33,7 @@ DEC2E5DF2A9583CA0090260A /* AppManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEC2E5DE2A9583CA0090260A /* AppManager.swift */; }; DEC2E5E42A966DE20090260A /* GoogleService-Info_multi.plist in Resources */ = {isa = PBXBuildFile; fileRef = DEC2E5E32A966DE20090260A /* GoogleService-Info_multi.plist */; }; DED37F632AB0C4F7003A67E4 /* SettingsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED37F622AB0C4F7003A67E4 /* SettingsUITests.swift */; }; - DEE261C52C21E9F500EECAC5 /* RecaptchaEnterprise in Frameworks */ = {isa = PBXBuildFile; productRef = DEE261C42C21E9F500EECAC5 /* RecaptchaEnterprise */; }; + DEE261C52C21E9F500EECAC5 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; EA02F68524A000E00079D000 /* UserActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA02F68424A000E00079D000 /* UserActions.swift */; }; EA02F68D24A063E90079D000 /* LoginDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA02F68C24A063E90079D000 /* LoginDelegate.swift */; }; EA062D5D24A0FEB6006714D3 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = EA062D5C24A0FEB6006714D3 /* README.md */; }; @@ -46,12 +46,12 @@ EA20B50C249E8F0700B5E581 /* AuthMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA20B50B249E8F0700B5E581 /* AuthMenu.swift */; }; EA20B510249FDB4400B5E581 /* OtherAuthMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA20B50F249FDB4400B5E581 /* OtherAuthMethods.swift */; }; EA217895248979E200736757 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EA217894248979E200736757 /* LaunchScreen.storyboard */; }; - EA3348322C90EFF40091D7C2 /* LoginViewSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3348312C90EFE40091D7C2 /* LoginViewSwiftUI.swift */; }; + EA3348322C90EFF40091D7C2 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3348312C90EFE40091D7C2 /* LoginView.swift */; }; EA527CAA24A0766D00ADB9A2 /* OtherAuthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA527CA924A0766D00ADB9A2 /* OtherAuthViewController.swift */; }; - EA527CAC24A0EE9600ADB9A2 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA527CAB24A0EE9600ADB9A2 /* LoginView.swift */; }; EAB3A1792494433500385291 /* DataSourceProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB3A1782494433500385291 /* DataSourceProvider.swift */; }; EAB3A17C2494628200385291 /* UserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB3A17B2494628200385291 /* UserViewController.swift */; }; EAD8BD402CE535C400E23E30 /* MFALoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAD8BD3F2CE535C400E23E30 /* MFALoginView.swift */; }; + EADCB2A92E3D46870066D56E /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = EADCB2A82E3D46870066D56E /* FirebaseAnalytics */; }; EAE08EB524CF5D09006FA3A5 /* AccountLinkingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE08EB424CF5D09006FA3A5 /* AccountLinkingViewController.swift */; }; EAE4CBC524855E3A00245E92 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE4CBC424855E3A00245E92 /* AppDelegate.swift */; }; EAE4CBC724855E3A00245E92 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE4CBC624855E3A00245E92 /* SceneDelegate.swift */; }; @@ -158,8 +158,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DEE261C52C21E9F500EECAC5 /* RecaptchaEnterprise in Frameworks */, + DEE261C52C21E9F500EECAC5 /* (null) in Frameworks */, DE8B63772BEC302200607B82 /* FacebookLogin in Frameworks */, + EADCB2A92E3D46870066D56E /* FirebaseAnalytics in Frameworks */, DE8B63742BEC2FB900607B82 /* GoogleSignInSwift in Frameworks */, DE8B636F2BEC2DC300607B82 /* FirebaseAuth in Frameworks */, DE8B63722BEC2FB900607B82 /* GoogleSignIn in Frameworks */, @@ -391,7 +392,7 @@ DE8B63712BEC2FB900607B82 /* GoogleSignIn */, DE8B63732BEC2FB900607B82 /* GoogleSignInSwift */, DE8B63762BEC302200607B82 /* FacebookLogin */, - DEE261C42C21E9F500EECAC5 /* RecaptchaEnterprise */, + EADCB2A82E3D46870066D56E /* FirebaseAnalytics */, ); productName = "Swifty Auth"; productReference = EAE4CBC124855E3A00245E92 /* AuthenticationExample.app */; @@ -998,7 +999,6 @@ requirement = { kind = upToNextMajorVersion; minimumVersion = 3.4.1; - maximumVersion = "6.0.0"; }; }; /* End XCRemoteSwiftPackageReference section */ @@ -1033,6 +1033,11 @@ package = DE8B63782BEC342000607B82 /* XCRemoteSwiftPackageReference "gtm-session-fetcher" */; productName = GTMSessionFetcher; }; + EADCB2A82E3D46870066D56E /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = DE8B636D2BEC2DC300607B82 /* XCLocalSwiftPackageReference "../../../../firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = EAE4CBB924855E3A00245E92 /* Project object */; From c73eb054e2f8b4cc8d4ceda3edc0cc8c93c2a388 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 1 Aug 2025 15:25:51 -0400 Subject: [PATCH 2/2] repro attempt --- .github/workflows/auth.yml | 23 ++++++++++++----------- .github/workflows/firestore.yml | 4 ++-- .github/workflows/spm.yml | 4 ++-- scripts/build.sh | 4 ++-- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 222a8ede027..09e6eadaa09 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -27,11 +27,11 @@ env: # cancel-in-progress: true jobs: - spm: - uses: ./.github/workflows/common.yml - with: - target: AuthUnit - platforms: iOS +# spm: +# uses: ./.github/workflows/common.yml +# with: +# target: AuthUnit +# platforms: iOS # buildonly_platforms: macOS # catalyst: @@ -53,20 +53,21 @@ jobs: integration-tests: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - needs: spm +# needs: spm strategy: matrix: - scheme: [ObjCApiTests, SwiftApiTests, AuthenticationExampleUITests] +# scheme: [ObjCApiTests, SwiftApiTests, AuthenticationExampleUITests] + scheme: [AuthenticationExample] env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 runs-on: macos-15 steps: - uses: actions/checkout@v4 - - uses: actions/cache/restore@v4 - with: - path: .build - key: ${{ needs.spm.outputs.cache_key }} +# - uses: actions/cache/restore@v4 +# with: +# path: .build +# key: ${{ needs.spm.outputs.cache_key }} - name: Install Secrets run: | scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthCredentials.h.gpg \ diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 3e927287a2e..03a46bd403c 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -70,7 +70,7 @@ jobs: # Note that this doesn't include check scripts because changing those will # already trigger the check workflow. - 'scripts/binary_to_array.py' - - 'scripts/build.sh' + # - 'scripts/build.sh' - 'scripts/install_prereqs.sh' - 'scripts/localize_podfile.swift' - 'scripts/pod_lib_lint.rb' @@ -81,7 +81,7 @@ jobs: - 'scripts/xcresult_logs.py' # This workflow - - '.github/workflows/firestore.yml' + # - '.github/workflows/firestore.yml' # Workflows this one depends on. - '.github/workflows/common.yml' diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 5b807927410..66e9688448c 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -4,10 +4,10 @@ on: workflow_dispatch: pull_request: paths: - - '.github/workflows/spm.yml' +# - '.github/workflows/spm.yml' - 'Package.swift' - '.swiftpm/*' - - 'scripts/build.sh' +# - 'scripts/build.sh' - 'SwiftPMTests/*' - 'SwiftPM-PlatformExclude' - 'Gemfile*' diff --git a/scripts/build.sh b/scripts/build.sh index 80cc79f0bb5..bf31d492580 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -314,13 +314,13 @@ case "$product-$platform-$method" in build ;; - Auth-*-*) + Auth-*-AuthenticationExample) if check_secrets; then RunXcodebuild \ -project 'FirebaseAuth/Tests/SampleSwift/AuthenticationExample.xcodeproj' \ -scheme "$method" \ "${xcb_flags[@]}" \ - test + archive fi ;;