Repository navigation
v1.7 #180
Workflow file for this run
This file contains hidden or 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: ["**"] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| unit-tests: | |
| name: Unit tests | |
| runs-on: xcode-27 | |
| env: | |
| SCHEME: Normal | |
| SIMULATOR: iPhone 17 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select latest stable Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Show toolchain | |
| run: | | |
| xcodebuild -version | |
| xcrun simctl list runtimes | grep iOS || true | |
| - name: Ensure xcbeautify | |
| run: command -v xcbeautify >/dev/null || brew install xcbeautify | |
| - name: Run unit tests | |
| run: | | |
| set -o pipefail | |
| xcodebuild test \ | |
| -project Normal.xcodeproj \ | |
| -scheme "$SCHEME" \ | |
| -destination "platform=iOS Simulator,name=$SIMULATOR" \ | |
| -only-testing:NormalTests \ | |
| -resultBundlePath TestResults.xcresult \ | |
| -enableCodeCoverage YES \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| | xcbeautify --renderer github-actions --report junit | |
| - name: Summarize results | |
| if: ${{ !cancelled() }} | |
| run: python3 .github/scripts/junit-summary.py build/reports/junit.xml >> "$GITHUB_STEP_SUMMARY" | |
| - name: Coverage summary | |
| if: ${{ !cancelled() }} | |
| run: python3 .github/scripts/coverage-summary.py TestResults.xcresult "Unit test coverage" >> "$GITHUB_STEP_SUMMARY" | |
| - name: Upload result bundle | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-test-results | |
| path: | | |
| TestResults.xcresult | |
| build/reports/junit.xml | |
| if-no-files-found: ignore |