diff --git a/.github/workflows/test-flatpak.yml b/.github/workflows/test-flatpak.yml new file mode 100644 index 0000000000..ce74c3255e --- /dev/null +++ b/.github/workflows/test-flatpak.yml @@ -0,0 +1,43 @@ +name: Test Flatpak Build + +on: + workflow_dispatch: + +permissions: + contents: read + +env: + DO_NOT_TRACK: 1 + +jobs: + flatpak: + runs-on: ubuntu-latest + container: + image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48 + options: --privileged + + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Install flatpak-node-generator (from git master, includes pnpm support) + run: pip install --force-reinstall --no-cache-dir git+https://github.com/flatpak/flatpak-builder-tools.git#subdirectory=node + + - name: Download cargo generator + run: | + pip install tomlkit + curl -fsSL https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/cargo/flatpak-cargo-generator.py \ + -o /tmp/flatpak-cargo-generator.py + + - name: Generate pnpm-sources.json + run: flatpak-node-generator pnpm -o flatpak/pnpm-sources.json pnpm-lock.yaml + + - name: Generate cargo-sources.json + run: python3 /tmp/flatpak-cargo-generator.py packages/player/src-tauri/Cargo.lock -o flatpak/cargo-sources.json + + - name: Build Flatpak bundle + uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + with: + bundle: nuclear-music-player.flatpak + manifest-path: flatpak/com.nuclearplayer.Nuclear.yml + cache-key: flatpak-builder-${{ github.sha }} diff --git a/flatpak/com.nuclearplayer.Nuclear.yml b/flatpak/com.nuclearplayer.Nuclear.yml index 4ceb08731e..5244aae7e3 100644 --- a/flatpak/com.nuclearplayer.Nuclear.yml +++ b/flatpak/com.nuclearplayer.Nuclear.yml @@ -53,7 +53,7 @@ modules: npm_config_cache: /run/build/nuclear-music-player/npm-cache build-commands: - mkdir -p /run/build/nuclear-music-player/.npm-global - - npm install -g pnpm + - npm install -g pnpm@11.0.6 - pnpm install --offline --frozen-lockfile - pnpm --filter @nuclearplayer/player build:frontend diff --git a/package.json b/package.json index 629de17d51..6ef445a6ec 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.10", "private": true, "type": "module", - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@11.0.6", "scripts": { "dev": "turbo dev --filter=@nuclearplayer/player --filter=@nuclearplayer/ui", "build": "turbo build",