11name : Build & Test for Apple Platforms
22
33on :
4+ workflow_dispatch :
45 push :
56 branches : [ "main" ]
67 pull_request :
78 branches : [ "main" ]
89
10+ concurrency :
11+ group : ${{ github.workflow }}-${{ github.ref }}
12+ cancel-in-progress : true
13+
914jobs :
1015 # Validate the package manifest and lint the code style
1116 validate-and-lint :
2328 run : brew install swift-format
2429
2530 - name : Check Code Formatting
26- run : swift-format lint . --strict
31+ run : swift-format lint . --recursive -- strict
2732
2833 # Build and test the package across multiple platforms and Xcode versions
2934 build-and-test :
@@ -35,25 +40,32 @@ jobs:
3540 fail-fast : false
3641 matrix :
3742 destination :
38- - " platform=iOS Simulator,name=iPhone 16 Pro"
39- - " platform=macOS"
40- - " platform=visionOS Simulator,name=Apple Vision Pro"
43+ - " platform=iOS Simulator,name=iPhone 16 Pro,OS=18.2 "
44+ - " platform=macOS,arch=arm64 "
45+ - " platform=visionOS Simulator,name=Apple Vision Pro,OS=2.2 "
4146
4247 steps :
4348 - name : Checkout repository
4449 uses : actions/checkout@v4
4550
51+ - name : List available Xcode versions
52+ run : ls /Applications | grep Xcode
53+
4654 - name : Select latest Xcode
4755 uses : maxim-lobanov/setup-xcode@v1
4856 with :
4957 xcode-version : ' latest'
5058
51- # Build and test using the swift command-line tool
59+ - name : Show current version of Xcode
60+ run : xcodebuild -version
61+
62+ # Build and test
5263 - name : Run Tests
5364 run : |
54- set -o pipefail && swift test \
55- -destination "${{ matrix.destination }}" \
56- --enable-code-coverage | xcpretty
65+ set -o pipefail
66+ xcodebuild test \
67+ -scheme "WaveformScrubber" \
68+ -destination "${{ matrix.destination }}"
5769
5870 # Build the example app
5971 - name : Build Example App
0 commit comments