Repository navigation
fix(webos): update mpv audio reset handling #15
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: build artifacts | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| webos_toolchain_archive_url: | |
| description: "Optional tar archive containing build/webos-sdk and Qt webOS prefixes" | |
| required: false | |
| type: string | |
| jobs: | |
| webos-ipk: | |
| name: webOS IPK | |
| runs-on: ubuntu-24.04 | |
| if: ${{ vars.WEBOS_TOOLCHAIN_ARCHIVE_URL != '' || (github.event_name == 'workflow_dispatch' && github.event.inputs.webos_toolchain_archive_url != '') }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: nixbuild/nix-quick-install-action@v30 | |
| with: | |
| nix_conf: | | |
| experimental-features = nix-command flakes | |
| keep-env-derivations = true | |
| keep-outputs = true | |
| - uses: nix-community/cache-nix-action@v7 | |
| with: | |
| primary-key: nix-${{ runner.os }}-${{ hashFiles('flake.lock') }} | |
| restore-prefixes-first-match: nix-${{ runner.os }}- | |
| gc-max-store-size-linux: 8G | |
| gc-max-store-size-macos: 8G | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| build/webos-sdk | |
| build/qt6-611-host-install | |
| build/qt6-611-target-static-install | |
| build/qt6-611-target-install | |
| build/webos-thirdparty-build | |
| build/third_party | |
| .ccache | |
| mpv/build/webos-libmpv | |
| key: webos-${{ runner.os }}-${{ hashFiles('mpv/meson.build', 'build-ipk.sh', 'tools/webos-native/**') }} | |
| restore-keys: | | |
| webos-${{ runner.os }}- | |
| - name: Restore webOS toolchain archive | |
| env: | |
| INPUT_URL: ${{ github.event.inputs.webos_toolchain_archive_url }} | |
| VAR_URL: ${{ vars.WEBOS_TOOLCHAIN_ARCHIVE_URL }} | |
| run: | | |
| url="${INPUT_URL:-$VAR_URL}" | |
| if [ -n "$url" ] && [ ! -x build/webos-sdk/arm-webos-linux-gnueabi_sdk-buildroot/bin/arm-webos-linux-gnueabi-gcc ]; then | |
| curl -L --fail "$url" | tar xz | |
| fi | |
| test -x build/webos-sdk/arm-webos-linux-gnueabi_sdk-buildroot/bin/arm-webos-linux-gnueabi-gcc | |
| test -d build/qt6-611-host-install | |
| test -d build/qt6-611-target-static-install -o -d build/qt6-611-target-install | |
| - name: Build IPK | |
| run: nix develop -c bash build-ipk.sh | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: jellyfin-native-webos-ipk | |
| path: build/*.ipk | |
| linux-appimage: | |
| name: Linux AppImage | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: nixbuild/nix-quick-install-action@v30 | |
| with: | |
| nix_conf: | | |
| experimental-features = nix-command flakes | |
| keep-env-derivations = true | |
| keep-outputs = true | |
| - uses: nix-community/cache-nix-action@v7 | |
| with: | |
| primary-key: nix-${{ runner.os }}-${{ hashFiles('flake.lock') }} | |
| restore-prefixes-first-match: nix-${{ runner.os }}- | |
| gc-max-store-size-linux: 8G | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .ccache | |
| build/linux-release | |
| build/appimage | |
| key: linux-${{ runner.os }}-${{ hashFiles('mpv/meson.build', 'tools/build-linux-release.sh', 'CMakeLists.txt') }} | |
| restore-keys: | | |
| linux-${{ runner.os }}- | |
| - name: Build host app | |
| run: nix develop -c bash tools/build-linux-release.sh | |
| - name: Package AppImage | |
| run: nix develop -c bash tools/package-appimage.sh | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: jellyfin-native-linux-appimage | |
| path: dist/*.AppImage | |
| macos-dmg: | |
| name: macOS DMG | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: nixbuild/nix-quick-install-action@v30 | |
| with: | |
| nix_conf: | | |
| experimental-features = nix-command flakes | |
| keep-env-derivations = true | |
| keep-outputs = true | |
| - uses: nix-community/cache-nix-action@v7 | |
| with: | |
| primary-key: nix-${{ runner.os }}-${{ hashFiles('flake.lock') }} | |
| restore-prefixes-first-match: nix-${{ runner.os }}- | |
| gc-max-store-size-macos: 8G | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| build/macos | |
| ~/Library/Caches/ccache | |
| key: macos-${{ runner.os }}-${{ hashFiles('mpv/meson.build', 'tools/build-macos.sh', 'CMakeLists.txt') }} | |
| restore-keys: | | |
| macos-${{ runner.os }}- | |
| - name: Build macOS app | |
| run: nix develop -c bash tools/build-macos.sh | |
| - name: Package DMG | |
| run: nix develop -c bash tools/package-macos-dmg.sh | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: jellyfin-native-macos-dmg | |
| path: dist/*.dmg |