Repository navigation
tvOS source build #33
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 failure 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 simulator 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: Inspect actual simulator signatures | |
| run: | | |
| codesign --display --verbose=4 --entitlements - build/tvos/appletvsimulator-arm64/install/Spool.app | |
| codesign --display --verbose=4 --entitlements - build/tvos/appletvsimulator-arm64/install/smoke/spool-tvos-playback-smoke.app | |
| - name: Launch isolated Apple TV simulator smoke | |
| 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 |