@@ -316,7 +316,7 @@ jobs:
316316 default : true
317317 codecoverage :
318318 type : boolean
319- default : true
319+ default : false
320320 verify_localization :
321321 type : boolean
322322 default : true
@@ -373,15 +373,24 @@ jobs:
373373 - run :
374374 name : MapboxNavigation-Package
375375 command : xcodebuild -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=<< parameters.iOS >>,name=<< parameters.device >>' -scheme MapboxNavigation-Package -configuration << parameters.configuration >> build <<# parameters.test >>test <</ parameters.test >> <<# parameters.codecoverage >>-enableCodeCoverage YES<</ parameters.codecoverage >> ENABLE_TESTABILITY=YES
376+ # FIXME: SPM test host is currently disabled, but we should run tests on the SPM test host job. When it is reenabled, delete this section that generates the code coverage report.
376377 - when :
377378 condition : << parameters.codecoverage >>
378379 steps :
380+ - run :
381+ name : Generate code coverage report
382+ command : |
383+ xcrun llvm-cov export -arch $(uname -m) -format="lcov" \
384+ -instr-profile=$(find "${HOME}/Library/Developer/Xcode/DerivedData" -name '*.profdata' | head -n 1) \
385+ $(find "${HOME}/Library/Developer/Xcode/DerivedData" -name "MapboxNavigation.o") > coverage.lcov
379386 - run :
380387 name : Send code coverage
381388 command : |
382389 curl -Os https://uploader.codecov.io/latest/macos/codecov
383390 chmod +x codecov
384391 ./codecov
392+ - store_artifacts :
393+ path : coverage.lcov
385394 - notify-build-finished
386395
387396 build-example :
@@ -463,6 +472,9 @@ jobs:
463472 notify_success :
464473 type : boolean
465474 default : false
475+ codecoverage :
476+ type : boolean
477+ default : true
466478 macos :
467479 xcode : << parameters.xcode >>
468480 resource_class : macos.x86.metal.gen1
@@ -475,7 +487,24 @@ jobs:
475487 - *add-github-to-known-hosts
476488 - run :
477489 name : Build test host application and execute tests
478- command : xcodebuild -project MapboxNavigation-SPM.xcodeproj -scheme MapboxNavigationTestHost -sdk iphonesimulator -configuration Release -destination "platform=iOS Simulator,OS=<< parameters.iOS >>,name=<< parameters.device >>" clean build test -enableCodeCoverage YES ENABLE_TESTABILITY=YES
490+ command : xcodebuild -project MapboxNavigation-SPM.xcodeproj -scheme MapboxNavigationTestHost -sdk iphonesimulator -configuration Release -destination "platform=iOS Simulator,OS=<< parameters.iOS >>,name=<< parameters.device >>" clean build test <<# parameters.codecoverage >>-enableCodeCoverage YES<</ parameters.codecoverage >> ENABLE_TESTABILITY=YES
491+ - when :
492+ condition : << parameters.codecoverage >>
493+ steps :
494+ - run :
495+ name : Generate code coverage report
496+ command : |
497+ xcrun llvm-cov export -arch $(uname -m) -format="lcov" \
498+ -instr-profile=$(find "${HOME}/Library/Developer/Xcode/DerivedData" -name '*.profdata' | head -n 1) \
499+ $(find build -name "MapboxNavigation.o") > coverage.lcov
500+ - run :
501+ name : Send code coverage
502+ command : |
503+ curl -Os https://uploader.codecov.io/latest/macos/codecov
504+ chmod +x codecov
505+ ./codecov
506+ - store_artifacts :
507+ path : coverage.lcov
479508 - notify-build-finished
480509
481510 get-api-log-job :
@@ -755,20 +784,22 @@ workflows:
755784 xcode : " 13.2.1"
756785 iOS : " 15.2"
757786 device : " iPhone 13 Pro Max"
787+ codecoverage : false
758788 context : Slack Orb
759789 - build-job :
760790 name : " Xcode_13.2.1_iOS_15.2_SPM_Debug"
761791 xcode : " 13.2.1"
762792 iOS : " 15.2"
763793 device : " iPhone 13 Pro Max"
764794 spm : true
765- codecoverage : false
795+ codecoverage : true
766796 context : Slack Orb
767797 - build-job :
768798 name : " Xcode_13.2.1_iOS_15.2_Release"
769799 xcode : " 13.2.1"
770800 iOS : " 15.2"
771801 device : " iPhone 13 Pro Max"
802+ codecoverage : false
772803 context : Slack Orb
773804 configuration : " Release"
774805 - build-job :
0 commit comments