Skip to content

tvOS source build

tvOS source build #36

Workflow file for this run

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