CoreDataPlus CI #5863
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: "CoreDataPlus CI" | |
on: | |
schedule: | |
- cron: '0 0 * * 2' # Run every Tuesday | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
info: | |
name: Show macOS and Xcode versions | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- name: Versions | |
run: | | |
sw_vers | |
swift --version | |
xcodebuild -version | |
xcodebuild -showsdks | |
xcrun simctl list | |
macOS: | |
name: Test macOS | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v4 | |
- name: macOS | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus" -destination "platform=macOS" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macOS tests report | |
path: ~/Downloads/Report | |
iOS: | |
name: Test iOS | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=17.0,name=iPhone 15 Pro"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: iOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: iOS tests report | |
path: ~/Downloads/Report | |
visionOS: | |
name: Test visionOS | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=1.0,name=Apple Vision Pro"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: iOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: visionOS tests report | |
path: ~/Downloads/Report | |
tvOS: | |
name: Test tvOS | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=17.0,name=Apple TV"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: tvOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tvOS tests report | |
path: ~/Downloads/Report | |
watchOS: | |
name: Test watchOS | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=10.0,name=Apple Watch Series 9 (45mm)"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: watchOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: watchOS tests report | |
path: ~/Downloads/Report | |
SPM: | |
name: Test SPM Integration | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v4 | |
- name: SPM Test | |
run: | | |
swift --version | |
swift test | |
# lint: | |
# name: Swift Lint | |
# runs-on: macos-14 | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Run SwiftLint | |
# run: | | |
# swift --version | |
# swiftlint --reporter github-actions-logging | |