Skip to content

Commit 9c6705b

Browse files
Merge pull request #1274 from firebase/update-ci-flow
2 parents 9e58282 + b7282fc commit 9c6705b

File tree

1 file changed

+48
-7
lines changed

1 file changed

+48
-7
lines changed

.github/workflows/swiftui-auth.yml

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ name: SwiftUI Auth
22

33
on:
44
push:
5-
branches: [ main ]
5+
branches: [ main, development ]
66
paths:
77
- '.github/workflows/swiftui-auth.yml'
88
- 'samples/swiftui/**'
99
- 'FirebaseSwiftUI/**'
1010
- 'Package.swift'
1111
pull_request:
12-
branches: [ main ]
12+
branches: [ main, development ]
1313
paths:
1414
- '.github/workflows/swiftui-auth.yml'
1515
- 'samples/swiftui/**'
@@ -24,7 +24,7 @@ permissions:
2424
jobs:
2525
swiftui-auth:
2626
runs-on: macos-15
27-
timeout-minutes: 30
27+
timeout-minutes: 60
2828
steps:
2929
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
3030
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
@@ -45,23 +45,58 @@ jobs:
4545
run: gem install xcpretty
4646
- name: Select Xcode version
4747
run: |
48-
sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer
48+
sudo xcode-select -switch /Applications/Xcode_16.4.app/Contents/Developer
49+
- name: Run FirebaseSwiftUI Package Unit Tests
50+
run: |
51+
set -o pipefail
52+
xcodebuild test -scheme FirebaseUI-Package -destination 'platform=iOS Simulator,name=iPhone 16 Pro' -enableCodeCoverage YES -resultBundlePath FirebaseSwiftUIPackageTests.xcresult | tee FirebaseSwiftUIPackageTests.log | xcpretty --test --color --simple
53+
# Build for integration tests (builds app + integration test bundle)
54+
- name: Build for Integration Tests
55+
run: |
56+
cd ./samples/swiftui/FirebaseSwiftUIExample
57+
set -o pipefail
58+
xcodebuild build-for-testing \
59+
-scheme FirebaseSwiftUIExampleTests \
60+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
61+
-enableCodeCoverage YES | xcpretty --color --simple
62+
# Run integration tests
4963
- name: Run Integration Tests
5064
run: |
5165
cd ./samples/swiftui/FirebaseSwiftUIExample
5266
set -o pipefail
53-
xcodebuild test -scheme FirebaseSwiftUIExampleTests -destination 'platform=iOS Simulator,name=iPhone 16 Pro' -enableCodeCoverage YES -resultBundlePath FirebaseSwiftUIExampleTests.xcresult | tee FirebaseSwiftUIExampleTests.log | xcpretty --test --color --simple
67+
xcodebuild test-without-building \
68+
-scheme FirebaseSwiftUIExampleTests \
69+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
70+
-enableCodeCoverage YES \
71+
-resultBundlePath FirebaseSwiftUIExampleTests.xcresult | tee FirebaseSwiftUIExampleTests.log | xcpretty --test --color --simple
72+
# Build for UI tests (reuses app build, builds UI test bundle)
73+
- name: Build for UI Tests
74+
run: |
75+
cd ./samples/swiftui/FirebaseSwiftUIExample
76+
set -o pipefail
77+
xcodebuild build-for-testing \
78+
-scheme FirebaseSwiftUIExampleUITests \
79+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
80+
-enableCodeCoverage YES | xcpretty --color --simple
81+
# Run UI tests
5482
- name: Run View UI Tests
5583
run: |
5684
cd ./samples/swiftui/FirebaseSwiftUIExample
5785
set -o pipefail
58-
xcodebuild test -scheme FirebaseSwiftUIExampleUITests -destination 'platform=iOS Simulator,name=iPhone 16 Pro' -enableCodeCoverage YES -resultBundlePath FirebaseSwiftUIExampleUITests.xcresult | tee FirebaseSwiftUIExampleUITests.log | xcpretty --test --color --simple
86+
xcodebuild test-without-building \
87+
-scheme FirebaseSwiftUIExampleUITests \
88+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
89+
-parallel-testing-enabled YES \
90+
-maximum-concurrent-test-simulator-destinations 2 \
91+
-enableCodeCoverage YES \
92+
-resultBundlePath FirebaseSwiftUIExampleUITests.xcresult | tee FirebaseSwiftUIExampleUITests.log | xcpretty --test --color --simple
5993
- name: Upload test logs
6094
if: failure()
6195
uses: actions/upload-artifact@v4
6296
with:
6397
name: swiftui-auth-test-logs
6498
path: |
99+
FirebaseSwiftUIPackageTests.log
65100
samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.log
66101
samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.log
67102
- name: Upload FirebaseSwiftUIExampleUITests.xcresult bundle
@@ -75,4 +110,10 @@ jobs:
75110
uses: actions/upload-artifact@v4
76111
with:
77112
name: FirebaseSwiftUIExampleTests.xcresult
78-
path: samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.xcresult
113+
path: samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.xcresult
114+
- name: Upload FirebaseSwiftUIPackageTests.xcresult bundle
115+
if: failure()
116+
uses: actions/upload-artifact@v4
117+
with:
118+
name: FirebaseSwiftUIPackageTests.xcresult
119+
path: FirebaseSwiftUIPackageTests.xcresult

0 commit comments

Comments
 (0)