Files
dependabot[bot] b860e140df Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 16:11:45 +00:00

68 lines
2.0 KiB
YAML

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@v7
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