Repository navigation
tvOS source build #36
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: tvOS source build | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| native-artifact-run: | |
| description: Temporary native renderer investigation artifact run | |
| required: false | |
| default: '' | |
| push: | |
| branches: [feature/tvos] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: tvos-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| simulator: | |
| name: Qt mpv tvOS ${{ matrix.sdk }} build and smoke | |
| if: ${{ inputs.native-artifact-run == '' }} | |
| runs-on: macos-15 | |
| timeout-minutes: 180 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| sdk: [appletvsimulator, appletvos] | |
| steps: | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| - name: Install native build tools | |
| run: brew install cmake ninja meson pkg-config bash python imagemagick gpatch | |
| - name: Install pinned macOS Qt host tools | |
| run: | | |
| python3 -m venv "$RUNNER_TEMP/aqt" | |
| "$RUNNER_TEMP/aqt/bin/pip" install aqtinstall | |
| version="$(python3 -c 'import json;print(json.load(open("tools/manifests/toolchain.json"))["qt"]["version"])')" | |
| "$RUNNER_TEMP/aqt/bin/aqt" install-qt mac desktop "$version" clang_64 \ | |
| -O "$RUNNER_TEMP/Qt" -m qtshadertools qtwebsockets qtimageformats qttasktree | |
| echo "QT_HOST_PATH=$RUNNER_TEMP/Qt/$version/macos" >> "$GITHUB_ENV" | |
| - name: Build Qt and media libraries for Apple TV simulator | |
| env: | |
| APPLE_SDK: ${{ matrix.sdk }} | |
| APPLE_ARCH: arm64 | |
| JOBS: 3 | |
| BUILD_JOBS: 3 | |
| run: bash tools/build-tvos.sh | |
| - name: Launch isolated Apple TV simulator smoke | |
| if: matrix.sdk == 'appletvsimulator' | |
| run: bash tools/apple/smoke-tvos.sh build/tvos/appletvsimulator-arm64/install/Spool.app | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| if: always() | |
| with: | |
| name: internal-tvos-${{ matrix.sdk }}-arm64 | |
| path: | | |
| build/tvos/${{ matrix.sdk }}-arm64/install/Spool.app | |
| build/tvos/${{ matrix.sdk }}-arm64/install/smoke/spool-tvos-playback-smoke.app | |
| build/tvos/smoke/*.png | |
| build/tvos/smoke/result.json | |
| diagnose: | |
| if: ${{ inputs.native-artifact-run != '' }} | |
| runs-on: macos-15 | |
| permissions: | |
| contents: read | |
| actions: read | |
| steps: | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| persist-credentials: false | |
| - name: Download existing native renderer failure | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| ARTIFACT_RUN: ${{ inputs.native-artifact-run }} | |
| run: gh run download "$ARTIFACT_RUN" --name internal-tvos-appletvsimulator-arm64 --dir build/tvos | |
| - name: Launch isolated Apple TV simulator smoke | |
| env: | |
| SIMCTL_CHILD_SPOOL_TEST_MPV_LOG: '1' | |
| run: bash tools/apple/smoke-tvos.sh build/tvos/appletvsimulator-arm64/install/Spool.app | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| if: always() | |
| with: | |
| name: native-failure-pixels | |
| path: build/tvos/smoke |