Skip to content

chore(deps): bump actions/setup-java from 5.5.0 to 5.6.0 #358

chore(deps): bump actions/setup-java from 5.5.0 to 5.6.0

chore(deps): bump actions/setup-java from 5.5.0 to 5.6.0 #358

Workflow file for this run

name: SwiftUI Auth
on:
push:
branches: [ main, development ]
paths:
- 'Gemfile*'
- '.github/workflows/swiftui-auth.yml'
- 'samples/swiftui/**'
- 'e2eTest/**'
- 'FirebaseSwiftUI/**'
- 'Package.swift'
- 'Package.resolved'
pull_request:
branches: [ main, development ]
paths:
- 'Gemfile*'
- '.github/workflows/swiftui-auth.yml'
- 'samples/swiftui/**'
- 'e2eTest/**'
- 'FirebaseSwiftUI/**'
- 'Package.swift'
- 'Package.resolved'
workflow_dispatch:
permissions:
contents: read
env:
XCODE_VERSION: 26.2
IOS_SIMULATOR_DEVICE: iPhone 17 Pro
jobs:
format-check:
name: Swift Format Check
runs-on: macos-26
timeout-minutes: 10
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- 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: 45
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Install xcpretty
run: gem install xcpretty
- uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Install simulators in case they are missing.
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
with:
timeout_minutes: 15
max_attempts: 5
retry_wait_seconds: 120
continue_on_error: true
command: xcodebuild -downloadPlatform iOS
- name: Prepare iOS Simulator
id: prepare-simulator
run: ./.github/workflows/scripts/prepare-ios-simulator.sh
- name: Run FirebaseSwiftUI Package Unit Tests
env:
SIMULATOR_UDID: ${{ steps.prepare-simulator.outputs.udid }}
run: |
set -o pipefail
xcodebuild test \
-scheme FirebaseUI-Package \
-destination "id=$SIMULATOR_UDID" \
-enableCodeCoverage YES \
-resultBundlePath FirebaseSwiftUIPackageTests.xcresult | tee FirebaseSwiftUIPackageTests.log | xcpretty --test --color --simple
- name: Upload test logs
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: unit-tests-logs
path: FirebaseSwiftUIPackageTests.log
- name: Upload test results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: unit-tests-results
path: FirebaseSwiftUIPackageTests.xcresult
# Integration Tests (requires emulator)
integration-tests:
name: Integration Tests
runs-on: macos-26
timeout-minutes: 45
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
name: Install Node.js 20
with:
node-version: '20'
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
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 # v1.7.0
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Install simulators in case they are missing.
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
with:
timeout_minutes: 15
max_attempts: 5
retry_wait_seconds: 120
continue_on_error: true
command: xcodebuild -downloadPlatform iOS
- name: Prepare iOS Simulator
id: prepare-simulator
run: ./.github/workflows/scripts/prepare-ios-simulator.sh
- name: Run Integration Tests
env:
SIMULATOR_UDID: ${{ steps.prepare-simulator.outputs.udid }}
run: |
cd ./e2eTest/FirebaseSwiftUIExample
set -o pipefail
xcodebuild test \
-scheme FirebaseSwiftUIExampleTests \
-destination "id=$SIMULATOR_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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: integration-tests-logs
path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.log
- name: Upload test results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
name: Install Node.js 20
with:
node-version: '20'
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
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 # v1.7.0
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Install simulators in case they are missing.
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
with:
timeout_minutes: 15
max_attempts: 5
retry_wait_seconds: 120
continue_on_error: true
command: xcodebuild -downloadPlatform iOS
- name: Prepare iOS Simulator
id: prepare-simulator
run: ./.github/workflows/scripts/prepare-ios-simulator.sh
- name: Build for UI Tests
env:
SIMULATOR_UDID: ${{ steps.prepare-simulator.outputs.udid }}
run: |
cd ./e2eTest/FirebaseSwiftUIExample
set -o pipefail
xcodebuild build-for-testing \
-scheme FirebaseSwiftUIExampleUITests \
-destination "id=$SIMULATOR_UDID" \
-enableCodeCoverage YES | xcpretty --color --simple
- name: Run UI Tests
env:
SIMULATOR_UDID: ${{ steps.prepare-simulator.outputs.udid }}
run: |
cd ./e2eTest/FirebaseSwiftUIExample
set -o pipefail
xcodebuild test-without-building \
-scheme FirebaseSwiftUIExampleUITests \
-destination "id=$SIMULATOR_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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: firebase-emulator-logs
path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample/firebase-debug.log
- name: Upload test results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: FirebaseSwiftUIExampleUITests.xcresult
path: e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.xcresult