Adds targeted strict concurrency setting (#295) #907
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Swift CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
XCODE_VERSION: 15.1 | |
IOS_DESTINATION: platform=iOS Simulator,OS=17.2,name=iPad (10th generation) | |
jobs: | |
development-apps: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
scheme: | |
- Development-Unit-WorkflowTesting | |
- Development-Unit-WorkflowTests | |
- Development-Unit-WorkflowUITests | |
- Development-Unit-SplitScreenTests | |
- Development-Unit-TicTacToeTests | |
- Development-Unit-WorkflowReactiveSwiftTests | |
- Development-Unit-WorkflowRxSwiftTests | |
- Development-Unit-WorkflowReactiveSwiftTestingTests | |
- Development-Unit-WorkflowRxSwiftTestingTests | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
# Uses version specified in .ruby_version | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: Pod Install | |
run: | | |
bundle exec pod gen Development.podspec | |
- name: Switch Xcode | |
run: sudo xcode-select -s /Applications/Xcode_${XCODE_VERSION}.app | |
- name: Build & Test | |
run: | | |
set -o pipefail | |
xcodebuild \ | |
-workspace gen/Development/Development.xcworkspace \ | |
-scheme ${{ matrix.scheme }} \ | |
-destination "$IOS_DESTINATION" \ | |
build test | bundle exec xcpretty | |
spm: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Switch Xcode | |
run: sudo xcode-select -s /Applications/Xcode_${XCODE_VERSION}.app | |
- name: Swift Package Manager - iOS | |
run: | | |
xcodebuild \ | |
-scheme "Workflow-Package" \ | |
-destination "$IOS_DESTINATION" \ | |
test | |
- name: Swift Package Manager - macOS | |
run: | | |
xcodebuild \ | |
-scheme "Workflow-Package" \ | |
-destination "platform=macOS" \ | |
test | |
tutorial: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
# Uses version specified in .ruby_version | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: Switch Xcode | |
run: sudo xcode-select -s /Applications/Xcode_${XCODE_VERSION}.app | |
- name: Tutorial App | |
run: | | |
cd Samples/Tutorial | |
bundle exec pod install | |
set -o pipefail | |
xcodebuild \ | |
-workspace Tutorial.xcworkspace \ | |
-scheme Tutorial \ | |
-destination "$IOS_DESTINATION" \ | |
build test | bundle exec xcpretty | |
documentation-lint: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
# Uses version specified in .ruby_version | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: Switch Xcode | |
run: sudo xcode-select -s /Applications/Xcode_${XCODE_VERSION}.app | |
- name: Install sourcedocs | |
run: brew install sourcedocs | |
- name: Swiftdocs | |
run: | | |
.buildscript/build_swift_docs.sh ${{ runner.temp }}/swiftdocs |