Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,40 @@ on:
- main
workflow_dispatch:

env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app

jobs:
test:
name: Test
runs-on: macos-12
strategy:
matrix:
xcode_version:
- 14.2
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode_version }}.app
platform:
- ios
- macos
- tvos
- watchos
steps:
- uses: actions/checkout@v2
- name: Show environments
run: |
swift --version
xcodebuild -version
- name: Test library
run: make test-library
- name: Test examples
run: make test-examples
- name: Test product
run: scripts/test.sh product ${{ matrix.platform }}
- name: Test example iOS
if: matrix.platform == 'ios'
run: scripts/test.sh example-ios ${{ matrix.platform }}
- name: Test example cross platform
if: matrix.platform == 'ios' || matrix.platform == 'macos' || matrix.platform == 'tvos'
run: scripts/test.sh example-cross-platform ${{ matrix.platform }}

validation:
name: Validation
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app
steps:
- uses: actions/checkout@v2
- name: Show environments
run: |
swift --version
xcodebuild -version
- uses: actions/cache@v3
with:
path: bin
Expand Down
22 changes: 0 additions & 22 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
TOOL = scripts/swift-run.sh
PACKAGE = SWIFTUI_ATOM_PROPERTIES_DEVELOPMENT=1 swift package -c release
SWIFT_FILE_PATHS = Package.swift Sources Tests Examples
TEST_PLATFORM_IOS = iOS Simulator,name=iPhone 13 Pro
TEST_PLATFORM_MACOS = macOS
TEST_PLATFORM_TVOS = tvOS Simulator,name=Apple TV 4K (at 1080p) (2nd generation)
TEST_PLATFORM_WATCHOS = watchOS Simulator,name=Apple Watch Series 7 (45mm)

.PHONY: proj
proj:
Expand Down Expand Up @@ -35,21 +31,3 @@ docs-preview:
--disable-sandbox \
preview-documentation \
--product Atoms

.PHONY: test
test: test-library test-examples

.PHONY: test-library
test-library:
for platform in "$(TEST_PLATFORM_IOS)" "$(TEST_PLATFORM_MACOS)" "$(TEST_PLATFORM_TVOS)" "$(TEST_PLATFORM_WATCHOS)"; do \
xcodebuild test -scheme swiftui-atom-properties -destination platform="$$platform"; \
done

.PHONY: test-examples
test-examples:
cd Examples/Packages/iOS && for platform in "$(TEST_PLATFORM_IOS)" ; do \
xcodebuild test -scheme iOSExamples -destination platform="$$platform"; \
done
cd Examples/Packages/CrossPlatform && for platform in "$(TEST_PLATFORM_IOS)" "$(TEST_PLATFORM_MACOS)" "$(TEST_PLATFORM_TVOS)" ; do \
xcodebuild test -scheme CrossPlatformExamples -destination platform="$$platform"; \
done
37 changes: 37 additions & 0 deletions scripts/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash

set -eu

TARGET=$1
PLATFORM=$2

pushd "$(cd $(dirname $0)/.. && pwd)" &>/dev/null

case $PLATFORM in
ios)
platform="iOS Simulator,name=iPhone 13 Pro"
;;
macos)
platform="macOS"
;;
tvos)
platform="tvOS Simulator,name=Apple TV 4K (at 1080p) (2nd generation)"
;;
watchos)
platform="watchOS Simulator,name=Apple Watch Series 7 (45mm)"
;;
esac

case $TARGET in
product)
xcodebuild test -scheme swiftui-atom-properties -destination platform="$platform"
;;
example-ios)
cd Examples/Packages/iOS
xcodebuild test -scheme iOSExamples -destination platform="$platform"
;;
example-cross-platform)
cd Examples/Packages/CrossPlatform
xcodebuild test -scheme CrossPlatformExamples -destination platform="$platform"
;;
esac