1313 required : false
1414 type : string
1515 macos :
16- default : macos-26
16+ default : macos-latest
1717 required : false
1818 type : string
1919 is_pr :
2020 type : boolean
2121 default : false
22- build_only :
23- type : boolean
24- default : false
2522
2623jobs :
2724 test-ios :
3229 with :
3330 ref : ${{ github.event.pull_request.head.sha }}
3431 - uses : actions/checkout@v4
35- if : ${{ ! inputs.is_pr }}
32+ if : ${{ !inputs.is_pr }}
3633 with :
3734 ref : ${{ github.head_ref }}
3835 - name : Install Dependencies
@@ -45,27 +42,42 @@ jobs:
4542 if : ${{ inputs.ios == '^17' }}
4643 run : xcodes runtimes install "iOS 17.5"
4744 - uses : mxcl/xcodebuild@v3
45+ id : xcodebuild
4846 with :
4947 xcode : ${{ inputs.xcode }}
5048 platform : iOS
5149 platform-version : ${{ inputs.ios }}
5250 workspace : SalesforceMobileSDK.xcworkspace
5351 scheme : ${{ inputs.lib }}
54- action : ${{ inputs.build_only && 'build' || 'test' }}
55- code-coverage : ${{ ! inputs.build_only }}
52+ code-coverage : true
5653 verbosity : xcbeautify
57- - uses : slidoapp/xcresulttool@v3.1.0
54+ - name : Parse test results
55+ if : success() || failure()
56+ run : |
57+ brew install xcresultparser
58+ xcresultparser -o junit test.xcresult > test-results-${{ inputs.lib }}-ios${{ inputs.ios }}.xml
59+ - name : Test Report
60+ uses : mikepenz/action-junit-report@v5
61+ if : success() || failure()
5862 with :
59- path : test.xcresult
60- title : " ${{ inputs.lib }} iOS ${{ inputs.ios }}"
61- show-code-coverage : false
62- upload-bundles : false
63- show-passed-tests : false
64- # xcresulttool currently fails for iOS 26
65- if : ${{ ! inputs.build_only && (success() || failure()) && inputs.ios != '^26' }}
63+ check_name : ${{ inputs.lib }} iOS ${{ inputs.ios }} Test Results
64+ job_name : ${{ inputs.lib }} iOS ${{ inputs.ios }} Test Results
65+ require_tests : true
66+ include_empty_in_summary : false
67+ simplified_summary : true
68+ detailed_summary : true
69+ comment : true
70+ job_summary : ${{ steps.xcodebuild.outcome == 'failure' }}
71+ report_paths : ' test-results-${{ inputs.lib }}-ios${{ inputs.ios }}.xml'
6672 - uses : codecov/codecov-action@v4
73+ if : success() || failure()
6774 with :
6875 flags : ${{ inputs.lib }}
6976 env :
7077 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
71- if : ${{ ! inputs.build_only && (success() || failure()) }}
78+ - name : Upload test results artifact
79+ if : success() || failure()
80+ uses : actions/upload-artifact@v4
81+ with :
82+ name : test-results-${{ inputs.lib }}-ios${{ inputs.ios }}
83+ path : test-results-${{ inputs.lib }}-ios${{ inputs.ios }}.xml
0 commit comments