Upgrade CI and fix tests #164
Workflow file for this run
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: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
branches: [ main ] | |
jobs: | |
check-build-test: | |
runs-on: macos-13 | |
steps: | |
- name: Install Tools | |
run: | | |
brew tap a7ex/homebrew-formulae | |
brew install xcbeautify sonar-scanner findsimulator | |
env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Select Xcode | |
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
- name: SwiftLint | |
run: | | |
mkdir .build | |
swiftlint lint --reporter json > .build/swiftlint.json | |
- name: Build/Test | |
run: set -o pipefail && swift test --enable-code-coverage --sanitize undefined | xcbeautify | |
- name: Convert Coverage | |
run: xcrun llvm-cov show -instr-profile=.build/debug/codecov/default.profdata .build/debug/PotentCodablesPackageTests.xctest/Contents/MacOS/PotentCodablesPackageTests > .build/coverage.report | |
- name: Sonar Scanner | |
run: sonar-scanner | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
build-test: | |
runs-on: macos-12 | |
needs: [check-build-test] | |
strategy: | |
matrix: | |
platform: [macos, ios, tvos, watchos] | |
steps: | |
- name: Install Tools | |
run: | | |
brew tap a7ex/homebrew-formulae | |
brew install xcbeautify findsimulator | |
env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
- uses: actions/checkout@v3 | |
- name: Select Xcode | |
run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer | |
- name: Build/Test | |
run: make build-test-${{ matrix.platform }} | |
- name: Report Test Results | |
uses: kishikawakatsumi/xcresulttool@v1 | |
if: always() | |
with: | |
title: Test Results ${{ matrix.platform }} | |
path: ./TestResults/${{ matrix.platform }}.xcresult | |
build-test-linux: | |
runs-on: ubuntu-latest | |
needs: [check-build-test] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Swift | |
uses: swift-actions/setup-swift@v1 | |
- name: Build/Test | |
run: swift test --parallel --xunit-output test-results.xml | |
- name: Report Test Results | |
uses: dorny/test-reporter@v1 | |
if: always() | |
with: | |
name: Test Results linux | |
path: test-results.xml | |
reporter: java-junit |