Skip to content

ci: add workflow_dispatch trigger to YAML files #15

ci: add workflow_dispatch trigger to YAML files

ci: add workflow_dispatch trigger to YAML files #15

name: URLSession extension
on:
push:
branches: [ "main" ]
paths:
- 'Package.*'
- 'Sources/URLSessionExtension/**.swift'
- 'Tests/URLSessionExtensionTests/**.swift'
- '.github/workflows/URLSessionExtension.yml'
pull_request:
branches: [ "main" ]
paths:
- 'Package.*'
- 'Sources/URLSessionExtension/**.swift'
- 'Tests/URLSessionExtensionTests/**.swift'
- '.github/workflows/URLSessionExtension.yml'
workflow_call:
workflow_dispatch:
concurrency:
# Limit concurrency to 1 for PRs. 'main' concurrency isn't limited.
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
name: Run tests
runs-on: macOS-latest
strategy:
matrix:
include:
- platform: macOS
build: swift build --target URLSessionExtensionTests
test: swift test --filter URLSessionExtensionTests
- platform: iOS
build: xcodebuild build -scheme Storyblok -target URLSessionExtensionTests -destination 'platform=iOS Simulator,name=iPhone 17'
test: xcodebuild test -scheme Storyblok -only-testing URLSessionExtensionTests -destination 'platform=iOS Simulator,name=iPhone 17'
- platform: watchOS
build: xcodebuild build -scheme Storyblok -target URLSessionExtensionTests -destination 'platform=watchOS Simulator,name=Apple Watch SE 3 (40mm)'
test: xcodebuild test -scheme Storyblok -only-testing URLSessionExtensionTests -destination 'platform=watchOS Simulator,name=Apple Watch SE 3 (40mm)'
- platform: tvOS
build: xcodebuild build -scheme Storyblok -target URLSessionExtensionTests -destination 'platform=tvOS Simulator,name=Apple TV'
test: xcodebuild test -scheme Storyblok -only-testing URLSessionExtensionTests -destination 'platform=tvOS Simulator,name=Apple TV'
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: List simulators
run: xcrun simctl list
- name: Build
run: ${{ matrix.build }}
- name: Run tests on ${{ matrix.platform }}
run: ${{ matrix.test }}