Skip to content
This repository was archived by the owner on Mar 28, 2026. It is now read-only.

DisplayManager tests (#1192) #39

DisplayManager tests (#1192)

DisplayManager tests (#1192) #39

Workflow file for this run

name: build-macos
on:
workflow_call:
workflow_dispatch:
push:
branches:
- master
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- runner: macos-15
artifact: macos-arm64
- runner: macos-15-intel
artifact: macos-x86_64
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
# using older version due to severe memory leak
# https://qt-project.atlassian.net/browse/QTBUG-141377https://qt-project.atlassian.net/browse/QTBUG-141377
#version: '6.10.1'
version: '6.9.3'
arch: clang_64
modules: 'qtwebengine qtwebchannel qtpositioning'
- name: Install dependencies
run: |
brew update
brew install mpv
- name: Release build
run: |
cmake -B build -G Ninja \
-DQTROOT=$QT_ROOT_DIR \
-DCMAKE_PREFIX_PATH=$QT_ROOT_DIR \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=build/output \
-DCHECK_FOR_UPDATES=ON \
-DUSE_STATIC_MPVQT=ON
cmake --build build --target install
- name: Sign and create dmg
run: |
codesign --force --deep -s - "./build/output/Jellyfin Desktop.app/"
brew install create-dmg
VERSION=$(cat VERSION)
ARCH=$(uname -m)
DMG_NAME="JellyfinDesktop-${VERSION}-${ARCH}.dmg"
create-dmg \
--volname "Jellyfin Desktop v${VERSION}" \
--no-internet-enable \
--window-size 500 300 \
--icon-size 100 \
--icon "Jellyfin Desktop.app" 125 150 \
--app-drop-link 375 150 \
"${DMG_NAME}" "./build/output/Jellyfin Desktop.app"
- name: Archive production artifacts
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact }}
path: ${{ github.workspace }}/JellyfinDesktop-*.dmg