Swift #455
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: Swift | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
cancel_previous: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: styfle/[email protected] | |
with: | |
workflow_id: ${{ github.event.workflow.id }} | |
build_and_test_spm_mac: | |
needs: cancel_previous | |
runs-on: macos-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- name: Build | |
run: swift build | |
- name: Run tests | |
run: swift test | |
build_and_test_spm_linux: | |
needs: cancel_previous | |
runs-on: ubuntu-latest | |
steps: | |
- uses: fwal/[email protected] | |
with: | |
swift-version: "5.7.2" | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- name: Build | |
run: swift build | |
- name: Run tests | |
run: swift test --enable-test-discovery | |
# Windows support is still very much a work in progress | |
# We use a different action here to be able to use a more | |
# up-to-date toolchain. | |
build_and_test_spm_windows: | |
needs: cancel_previous | |
runs-on: windows-latest | |
steps: | |
- uses: compnerd/gha-setup-swift@main | |
with: | |
release-tag-name: "20231116.2" | |
github-repo: "thebrowsercompany/swift-build" | |
release-asset-name: installer-amd64.exe | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@v2 | |
- name: Build | |
run: swift build | |
# Testing disabled until https://github.com/segmentio/analytics-swift/issues/279 is fixed | |
# - name: Run tests | |
# run: swift test --enable-test-discovery | |
build_and_test_ios: | |
needs: cancel_previous | |
runs-on: macos-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- run: xcodebuild -scheme Segment test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 13' | |
build_and_test_tvos: | |
needs: cancel_previous | |
runs-on: macos-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- run: xcodebuild -scheme Segment test -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV' | |
build_and_test_watchos: | |
needs: cancel_previous | |
runs-on: macos-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- run: xcodebuild -scheme Segment test -sdk watchsimulator -destination 'platform=watchOS Simulator,name=Apple Watch Series 8 (45mm)' | |
build_and_test_examples: | |
needs: cancel_previous | |
runs-on: macos-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SOVRAN_SSH_KEY }} | |
- name: build for ios simulator | |
run: | | |
cd Examples/apps/BasicExample | |
xcodebuild -workspace "BasicExample.xcworkspace" -scheme "BasicExample" -sdk iphonesimulator | |
- name: build for ios simulator | |
run: | | |
cd Examples/apps/ObjCExample | |
xcodebuild -workspace "ObjCExample.xcworkspace" -scheme "ObjCExample" -sdk iphonesimulator | |
- name: build for ios simulator | |
run: | | |
cd Examples/apps/SegmentUIKitExample | |
xcodebuild -workspace "SegmentUIKitExample.xcworkspace" -scheme "SegmentUIKitExample" -sdk iphonesimulator | |
- name: build for ios simulator | |
run: | | |
cd Examples/apps/SegmentWeatherWidget | |
xcodebuild -workspace "SegmentWeatherWidget.xcworkspace" -scheme "SegmentWeatherWidget" -sdk iphonesimulator | |
- name: build for mac catalyst | |
run: | | |
cd Examples/apps/SegmentUIKitExample | |
xcodebuild -workspace "SegmentUIKitExample.xcworkspace" -scheme "SegmentUIKitExample" -destination 'platform=macOS,variant=Mac Catalyst' |