feat(auth): legacyFetchSignInWithEmail config option for users still wishing to use auth.fetchSignInWithEmail()
#291
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: SwiftUI Auth | |
| on: | |
| push: | |
| branches: [ main, development ] | |
| paths: | |
| - '.github/workflows/swiftui-auth.yml' | |
| - 'samples/swiftui/**' | |
| - 'e2eTest/**' | |
| - 'FirebaseSwiftUI/**' | |
| - 'Package.swift' | |
| pull_request: | |
| branches: [ main, development ] | |
| paths: | |
| - '.github/workflows/swiftui-auth.yml' | |
| - 'samples/swiftui/**' | |
| - 'e2eTest/**' | |
| - 'FirebaseSwiftUI/**' | |
| - 'Package.swift' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| XCODE_VERSION: latest-stable | |
| IOS_SIMULATOR_DEVICE: iPhone 17 Pro | |
| jobs: | |
| format-check: | |
| name: Swift Format Check | |
| runs-on: macos-26 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 | |
| - name: Install swiftformat | |
| run: brew install swiftformat | |
| - name: Check Swift formatting | |
| run: bash lint-swift.sh | |
| # Package Unit Tests (simulator-backed) | |
| unit-tests: | |
| name: Package Unit Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 | |
| - name: Install xcpretty | |
| run: gem install xcpretty | |
| - uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 | |
| with: | |
| xcode-version: ${{ env.XCODE_VERSION }} | |
| - name: Prepare iOS Simulator | |
| id: prepare-simulator | |
| run: ./.github/workflows/scripts/prepare-ios-simulator.sh | |
| - name: Run FirebaseSwiftUI Package Unit Tests | |
| run: | | |
| set -o pipefail | |
| xcodebuild test \ | |
| -scheme FirebaseUI-Package \ | |
| -destination "id=${{ steps.prepare-simulator.outputs.udid }}" \ | |
| -enableCodeCoverage YES \ | |
| -resultBundlePath FirebaseSwiftUIPackageTests.xcresult | tee FirebaseSwiftUIPackageTests.log | xcpretty --test --color --simple | |
| - name: Upload test logs | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-tests-logs | |
| path: FirebaseSwiftUIPackageTests.log | |
| - name: Upload test results | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-tests-results | |
| path: FirebaseSwiftUIPackageTests.xcresult | |
| # Integration Tests (requires emulator) | |
| integration-tests: | |
| name: Integration Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 | |
| - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a | |
| name: Install Node.js 20 | |
| with: | |
| node-version: '20' | |
| - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Install Firebase | |
| run: sudo npm i -g firebase-tools | |
| - name: Start Firebase Emulator | |
| run: | | |
| sudo chown -R 501:20 "/Users/runner/.npm" | |
| cd ./e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample | |
| ./start-firebase-emulator.sh | |
| - name: Install xcpretty | |
| run: gem install xcpretty | |
| - uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 | |
| with: | |
| xcode-version: ${{ env.XCODE_VERSION }} | |
| - name: Prepare iOS Simulator | |
| id: prepare-simulator | |
| run: ./.github/workflows/scripts/prepare-ios-simulator.sh | |
| - name: Run Integration Tests | |
| run: | | |
| cd ./e2eTest/FirebaseSwiftUIExample | |
| set -o pipefail | |
| xcodebuild test \ | |
| -scheme FirebaseSwiftUIExampleTests \ | |
| -destination "id=${{ steps.prepare-simulator.outputs.udid }}" \ | |
| -parallel-testing-enabled NO \ | |
| -enableCodeCoverage YES \ | |
| -resultBundlePath FirebaseSwiftUIExampleTests.xcresult | tee FirebaseSwiftUIExampleTests.log | xcpretty --test --color --simple | |
| - name: Upload test logs | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-tests-logs | |
| path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.log | |
| - name: Upload test results | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-tests-results | |
| path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.xcresult | |
| # UI Tests (requires emulator) | |
| ui-tests: | |
| name: UI Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 40 | |
| steps: | |
| - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 | |
| - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a | |
| name: Install Node.js 20 | |
| with: | |
| node-version: '20' | |
| - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Install Firebase | |
| run: sudo npm i -g firebase-tools | |
| - name: Start Firebase Emulator | |
| run: | | |
| sudo chown -R 501:20 "/Users/runner/.npm" | |
| cd ./e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample | |
| ./start-firebase-emulator.sh | |
| - name: Install xcpretty | |
| run: gem install xcpretty | |
| - uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 | |
| with: | |
| xcode-version: ${{ env.XCODE_VERSION }} | |
| - name: Prepare iOS Simulator | |
| id: prepare-simulator | |
| run: ./.github/workflows/scripts/prepare-ios-simulator.sh | |
| - name: Build for UI Tests | |
| run: | | |
| cd ./e2eTest/FirebaseSwiftUIExample | |
| set -o pipefail | |
| xcodebuild build-for-testing \ | |
| -scheme FirebaseSwiftUIExampleUITests \ | |
| -destination "id=${{ steps.prepare-simulator.outputs.udid }}" \ | |
| -enableCodeCoverage YES | xcpretty --color --simple | |
| - name: Run UI Tests | |
| run: | | |
| cd ./e2eTest/FirebaseSwiftUIExample | |
| set -o pipefail | |
| xcodebuild test-without-building \ | |
| -scheme FirebaseSwiftUIExampleUITests \ | |
| -destination "id=${{ steps.prepare-simulator.outputs.udid }}" \ | |
| -parallel-testing-enabled NO \ | |
| -enableCodeCoverage YES \ | |
| -resultBundlePath FirebaseSwiftUIExampleUITests.xcresult | tee FirebaseSwiftUIExampleUITests.log | xcpretty --test --color --simple | |
| - name: Upload Firebase Emulator logs | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firebase-emulator-logs | |
| path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample/firebase-debug.log | |
| - name: Upload test results | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FirebaseSwiftUIExampleUITests.xcresult | |
| path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.xcresult |