@@ -2,14 +2,14 @@ name: SwiftUI Auth
2
2
3
3
on :
4
4
push :
5
- branches : [ main ]
5
+ branches : [ main, development ]
6
6
paths :
7
7
- ' .github/workflows/swiftui-auth.yml'
8
8
- ' samples/swiftui/**'
9
9
- ' FirebaseSwiftUI/**'
10
10
- ' Package.swift'
11
11
pull_request :
12
- branches : [ main ]
12
+ branches : [ main, development ]
13
13
paths :
14
14
- ' .github/workflows/swiftui-auth.yml'
15
15
- ' samples/swiftui/**'
@@ -24,7 +24,7 @@ permissions:
24
24
jobs :
25
25
swiftui-auth :
26
26
runs-on : macos-15
27
- timeout-minutes : 30
27
+ timeout-minutes : 60
28
28
steps :
29
29
- uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
30
30
- uses : actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
@@ -45,23 +45,58 @@ jobs:
45
45
run : gem install xcpretty
46
46
- name : Select Xcode version
47
47
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
49
63
- name : Run Integration Tests
50
64
run : |
51
65
cd ./samples/swiftui/FirebaseSwiftUIExample
52
66
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
54
82
- name : Run View UI Tests
55
83
run : |
56
84
cd ./samples/swiftui/FirebaseSwiftUIExample
57
85
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
59
93
- name : Upload test logs
60
94
if : failure()
61
95
uses : actions/upload-artifact@v4
62
96
with :
63
97
name : swiftui-auth-test-logs
64
98
path : |
99
+ FirebaseSwiftUIPackageTests.log
65
100
samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleTests.log
66
101
samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.log
67
102
- name : Upload FirebaseSwiftUIExampleUITests.xcresult bundle
@@ -75,4 +110,10 @@ jobs:
75
110
uses : actions/upload-artifact@v4
76
111
with :
77
112
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