Skip to content

chore(spm): update dependency apple/swift-docc-plugin to v1.4.6 #141

chore(spm): update dependency apple/swift-docc-plugin to v1.4.6

chore(spm): update dependency apple/swift-docc-plugin to v1.4.6 #141

Workflow file for this run

name: flare-ui
on:
push:
branches:
- main
- dev
pull_request:
paths:
- ".github/**"
- '.swiftlint.yml'
- ".github/workflows/**"
- "Package@swift-5.7.swift"
- "Package@swift-5.8.swift"
- "Package.swift"
- "Source/FlareUI/**"
- "Tests/FlareUITests/**"
permissions:
contents: read
concurrency:
group: flare-ui-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
SCHEME_NAME: "FlareUI"
jobs:
test-apple-platforms:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
# macOS
- { platform: macOS, name: "macOS 26, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0", runsOn: macOS-26, destination: "platform=macOS", testPlan: "FlareUIUnitTests" }
- { platform: macOS, name: "macOS 14, Xcode 16.0, Swift 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "platform=macOS", testPlan: "FlareUIUnitTests"}
- { platform: macOS, name: "macOS 14, Xcode 15.4, Swift 5.10", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "platform=macOS", testPlan: "FlareUIUnitTests" }
- { platform: macOS, name: "macOS 14, Xcode 15.2, Swift 5.9.2", xcode: "Xcode_15.2", runsOn: macOS-14, destination: "platform=macOS", testPlan: "FlareUIUnitTests" }
# iOS
- { platform: iOS, name: "iOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0.1,name=iPhone 17 Pro", testPlan: "FlareUIUnitTests" }
- { platform: iOS, name: "iOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=iPhone 16 Pro", testPlan: "FlareUIUnitTests" }
- { platform: iOS, name: "iOS 17.2", xcode: "Xcode_15.2", runsOn: macOS-14, destination: "OS=17.2,name=iPhone 15 Pro", testPlan: "FlareUIUnitTests" }
# tvOS
- { platform: tvOS, name: "tvOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple TV", testPlan: "FlareUIUnitTests" }
- { platform: tvOS, name: "tvOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=Apple TV", testPlan: "FlareUIUnitTests" }
- { platform: tvOS, name: "tvOS 17.2", xcode: "Xcode_15.2", runsOn: macOS-14, destination: "OS=17.2,name=Apple TV", testPlan: "FlareUIUnitTests" }
# watchOS
- { platform: watchOS, name: "watchOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple Watch Ultra 3 (49mm)", testPlan: "FlareUIUnitTests" }
- { platform: watchOS, name: "watchOS 11.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=11.1,name=Apple Watch Series 10 (46mm)", testPlan: "FlareUIUnitTests" }
- { platform: watchOS, name: "watchOS 10.5", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=10.5,name=Apple Watch Series 9 (45mm)", testPlan: "FlareUIUnitTests" }
- { platform: watchOS, name: "watchOS 10.2", xcode: "Xcode_15.2", runsOn: macOS-14, destination: "OS=10.2,name=Apple Watch Series 9 (45mm)", testPlan: "FlareUIUnitTests" }
steps:
- name: Checkout code
uses: actions/checkout@v6
- uses: jdx/mise-action@v3
with:
experimental: true
- name: Run tests - ${{ matrix.name }}
uses: ./.github/actions/build_and_test
with:
scheme: ${{ env.SCHEME_NAME }}
destination: ${{ matrix.destination }}
name: ${{ matrix.name }}
test_plan: ${{ matrix.testPlan }}
- name: Upload test coverage to Codecov
uses: space-code/oss-common-actions/.github/actions/upload_test_coverage_report@main
with:
scheme_name: ${{ env.SCHEME_NAME }}
filename: ${{ matrix.name }}
token: ${{ secrets.CODECOV_TOKEN }}
spm-build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26 }
- { name: "macOS 14, SPM 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14 }
- { name: "macOS 14, SPM 5.10.0", xcode: "Xcode_15.3", runsOn: macOS-14 }
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Build with Swift Package Manager - ${{ matrix.name }}
run: swift build -c release --target FlareUI
snapshots:
name: snapshots / ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- { platform: iOS, name: "iOS 18.4", xcode: "Xcode_16.3", runsOn: macOS-15, destination: "OS=18.4,name=iPhone 16", testPlan: "SnapshotTests" }
- { platform: tvOS, name: "tvOS 18.4", xcode: "Xcode_16.3", runsOn: macOS-15, destination: "OS=18.4,name=Apple TV", testPlan: "SnapshotTests" }
steps:
- name: Checkout code
uses: actions/checkout@v6
- uses: jdx/mise-action@v3
with:
experimental: true
- name: Run snapshot tests - ${{ matrix.name }}
uses: ./.github/actions/build_and_test
with:
scheme: ${{ env.SCHEME_NAME }}
destination: ${{ matrix.destination }}
name: ${{ matrix.name }}SnapshotTests
test_plan: ${{ matrix.testPlan }}
- name: Upload test coverage to Codecov
uses: space-code/oss-common-actions/.github/actions/upload_test_coverage_report@main
with:
scheme_name: ${{ env.SCHEME_NAME }}
filename: ${{ matrix.name }}SnapshotTests
token: ${{ secrets.CODECOV_TOKEN }}
merge-test-reports:
needs: test-apple-platforms
runs-on: macos-15
steps:
- name: Download artifacts
uses: actions/download-artifact@v7
with:
path: test_output
- name: Merge test results
run: xcrun xcresulttool merge test_output/**/*.xcresult --output-path test_output/final/final.xcresult
- name: Upload merged test results
uses: actions/upload-artifact@v6
with:
name: MergedResult
path: test_output/final
retention-days: 30