Skip to content

CoreDataPlus CI

CoreDataPlus CI #5850

Workflow file for this run

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