Drop support for old xcode versions #52
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: test | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.2.app | |
jobs: | |
validation: | |
name: Validation | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get SwiftPM cache | |
uses: actions/cache@v2 | |
with: | |
path: .build | |
key: ${{ runner.os }}-0-spm-${{ hashFiles('Package.resolved') }} | |
restore-keys: ${{ runner.os }}-0-spm- | |
- name: Validate format | |
run: | | |
make format | |
if [ -n "$(git status --porcelain)" ]; then echo "Make sure that the code is formated by 'make format'."; exit 1; fi | |
make lint | |
env: | |
SPM_FORCE_BUILD: 1 | |
- name: Validate example project | |
run: | | |
make proj | |
if [ -n "$(git status --porcelain)" ]; then echo "Make sure that example project is formated by 'make proj'."; exit 1; fi | |
env: | |
SPM_FORCE_BUILD: 1 | |
test: | |
name: Test on macOS | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Show environments | |
run: | | |
swift --version | |
xcodebuild -version | |
- name: Get npm cache | |
id: npm-cache | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-0-npm-${{ hashFiles('package-lock.json') }} | |
restore-keys: ${{ runner.os }}-0-npm- | |
- name: Install npm packages | |
if: steps.npm-cache.cache.outputs.cache-hit != 'true' | |
run: make npm | |
- name: Generate snapshots | |
working-directory: Example | |
run: set -o pipefail && xcodebuild test -project Example/Example.xcodeproj -scheme SampleApp -destination 'platform=iOS Simulator,name=iPhone 15 Pro' | xcpretty -c | |
- name: Visual regression test | |
run: npx percy upload Example/Snapshots | |
env: | |
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} |