CoreDataPlus CI #5850
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" | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
schedule: | |
- cron: '0 23 * * *' # At the end of every day | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
jobs: | |
info: | |
name: Show macOS and Xcode versions | |
runs-on: macos-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.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-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: macOS | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus macOS" -destination "platform=macOS" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: macOS tests report | |
path: ~/Downloads/Report | |
iOS: | |
name: Test iOS | |
runs-on: macos-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=16.0,name=iPhone 13 Pro"] #, "OS=12.4,name=iPhone XS", "OS=11.4,name=iPhone X"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: iOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus iOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: iOS tests report | |
path: ~/Downloads/Report | |
tvOS: | |
name: Test tvOS | |
runs-on: macos-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=16.0,name=Apple TV 4K (2nd generation)"] #, "OS=13.0,name=Apple TV 4K (at 1080p)", "OS=11.4,name=Apple TV 4K"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: tvOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus tvOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: tvOS tests report | |
path: ~/Downloads/Report | |
watchOS: | |
name: Test watchOS | |
runs-on: macOS-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer | |
strategy: | |
matrix: | |
destination: ["OS=9.0,name=Apple Watch Series 8 (45mm)"] #, ""OS=5.3,name=Apple Watch Series 4 - 44mm", "OS=4.2,name=Apple Watch Series 3 - 42mm"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: watchOS - ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "CoreDataPlus.xcodeproj" -scheme "CoreDataPlus watchOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult' | |
- name: Upload tests report | |
if: failure() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: watchOS tests report | |
path: ~/Downloads/Report | |
spm: | |
name: Test SPM Integration | |
runs-on: macos-12 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: SPM Test | |
run: | | |
swift --version | |
swift test | |
lint: | |
name: Swift Lint | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run SwiftLint | |
run: | | |
swift --version | |
swiftlint --reporter github-actions-logging | |