@@ -15,14 +15,14 @@ concurrency:
1515 cancel-in-progress : true
1616
1717env :
18- DEVELOPER_DIR : /Applications/Xcode_15.4 .app/Contents/Developer
18+ DEVELOPER_DIR : /Applications/Xcode_16.2 .app/Contents/Developer
1919 XCODEGEN_VERSION : " 2.38.0"
2020
2121jobs :
2222 # Gate 1: Swift lint and format check
2323 lint :
2424 name : SwiftLint
25- runs-on : macos-14
25+ runs-on : macos-15
2626 steps :
2727 - uses : actions/checkout@v4
2828 - name : Install SwiftLint
@@ -35,15 +35,15 @@ jobs:
3535 # Gate 2: Build iOS and watchOS targets
3636 build :
3737 name : Build (${{ matrix.scheme }})
38- runs-on : macos-14
38+ runs-on : macos-15
3939 needs : lint
4040 strategy :
4141 matrix :
4242 include :
4343 - scheme : Thump
44- destination : " platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5 "
44+ destination : " platform=iOS Simulator,name=iPhone 16 Pro,OS=18.2 "
4545 - scheme : ThumpWatch
46- destination : " platform=watchOS Simulator,name=Apple Watch Series 9 (45mm ),OS=10.5 "
46+ destination : " platform=watchOS Simulator,name=Apple Watch Series 10 (46mm ),OS=11.2 "
4747 steps :
4848 - uses : actions/checkout@v4
4949 - name : Install XcodeGen
5454 xcodegen generate
5555 - name : Build
5656 run : |
57+ set -o pipefail
5758 cd apps/HeartCoach
5859 xcodebuild build \
5960 -project Thump.xcodeproj \
6768 # Gate 3: Run unit tests
6869 test :
6970 name : Unit Tests
70- runs-on : macos-14
71+ runs-on : macos-15
7172 needs : build
7273 steps :
7374 - uses : actions/checkout@v4
@@ -79,11 +80,13 @@ jobs:
7980 xcodegen generate
8081 - name : Run Tests
8182 run : |
83+ set -o pipefail
8284 cd apps/HeartCoach
8385 xcodebuild test \
8486 -project Thump.xcodeproj \
8587 -scheme Thump \
86- -destination "platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5" \
88+ -destination "platform=iOS Simulator,name=iPhone 16 Pro,OS=18.2" \
89+ -enableCodeCoverage YES \
8790 -resultBundlePath TestResults.xcresult \
8891 CODE_SIGN_IDENTITY="" \
8992 CODE_SIGNING_REQUIRED=NO \
9396 run : |
9497 cd apps/HeartCoach
9598 xcrun xccov view --report --json TestResults.xcresult > coverage_report.json
96- # Print summary to CI log
97- echo "## Code Coverage Summary" >> $GITHUB_STEP_SUMMARY
98- xcrun xccov view --report TestResults.xcresult | head -30 >> $GITHUB_STEP_SUMMARY
99+ echo "## Code Coverage Summary" >> "$GITHUB_STEP_SUMMARY"
100+ xcrun xccov view --report TestResults.xcresult | head -30 >> "$GITHUB_STEP_SUMMARY"
99101 - name : Upload Test Results
100102 if : always()
101103 uses : actions/upload-artifact@v4
0 commit comments