Merge feat/namespaced-ffmpeg: the FFmpeg frameworks carry an Aether p… #1235
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-macos: | |
| name: swift test (macOS) | |
| runs-on: macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Show toolchain | |
| run: | | |
| swift --version | |
| xcodebuild -version | |
| - name: swift build | |
| run: swift build | |
| # A test process that dies mid-run reads as exit 1 with no ✘, no backtrace and no swift-testing | |
| # summary: `swift test` collapses every abnormal child exit to a plain 1, and a signal takes the | |
| # buffered tail of the event stream with it. What was in flight is whatever the log still lists | |
| # as started but never finished. Three such deaths were an unguarded socket write raising | |
| # SIGPIPE from a test origin server (see the SO_NOSIGPIPE note in Issue177IngestPrefetchTests), | |
| # so nothing hangs and no time limit would have caught it. | |
| - name: swift test | |
| run: swift test | |
| # The transport probe is a device harness and runs nowhere in CI, so nothing else would keep | |
| # it compiling. A harness that stopped building is discovered by the person who needed it. | |
| - name: build the transport probe (AE#377) | |
| run: swift build --build-tests --package-path Probes/TransportProbe | |
| build-tvos: | |
| name: xcodebuild (tvOS Simulator) | |
| runs-on: macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Build for tvOS Simulator | |
| run: | | |
| xcodebuild build \ | |
| -scheme AetherEngine \ | |
| -destination 'generic/platform=tvOS Simulator' \ | |
| -derivedDataPath .build/xcode-tvos \ | |
| CODE_SIGNING_ALLOWED=NO | |
| # The transport probe also builds as an app-hosted test bundle, because a SwiftPM test target | |
| # is tool-hosted and tool-hosted testing does not exist on device destinations. That project | |
| # runs nowhere in CI either, and the person who discovers it stopped building is the one who | |
| # needed it that evening. | |
| - name: Build the transport probe's device harness (AE#377) | |
| run: | | |
| xcodebuild build-for-testing \ | |
| -project Probes/TransportProbe/Device/TransportProbe.xcodeproj \ | |
| -scheme TransportProbe \ | |
| -destination 'generic/platform=tvOS Simulator' \ | |
| -derivedDataPath .build/xcode-probe \ | |
| CODE_SIGNING_ALLOWED=NO | |
| build-ios: | |
| name: xcodebuild (iOS Simulator) | |
| runs-on: macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Build for iOS Simulator | |
| run: | | |
| xcodebuild build \ | |
| -scheme AetherEngine \ | |
| -destination 'generic/platform=iOS Simulator' \ | |
| -derivedDataPath .build/xcode-ios \ | |
| CODE_SIGNING_ALLOWED=NO | |
| # #344: the package has declared visionOS since 6.0.0 and nothing here compiled for it, so an | |
| # availability list that named tvOS/iOS/macOS and then fell through to `*` broke the visionOS | |
| # build silently. `*` resolves to the declared visionOS floor (1.0), so any API newer than that | |
| # is a compile error on visionOS and on no other platform. Nobody here owns a Vision Pro, which | |
| # makes this job the only place the platform is exercised at all. | |
| build-visionos: | |
| name: xcodebuild (visionOS Simulator) | |
| runs-on: macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Build for visionOS Simulator | |
| run: | | |
| xcodebuild build \ | |
| -scheme AetherEngine \ | |
| -destination 'generic/platform=visionOS Simulator' \ | |
| -derivedDataPath .build/xcode-visionos \ | |
| CODE_SIGNING_ALLOWED=NO |