Skip to content

fix(macos): link the staged libmpv closure and verify releases before… #1

fix(macos): link the staged libmpv closure and verify releases before…

fix(macos): link the staged libmpv closure and verify releases before… #1

Workflow file for this run

name: App build
on:
workflow_dispatch:
push:
branches: [main]
paths-ignore:
- .github/ISSUE_TEMPLATE/**
- docs/**
- "**/*.md"
permissions:
contents: read
env:
# The extension compat layer is not in this repository, so a runner cannot stage its runtime.
# This build compiles without it and says so. Drop this line once the layer ships with the
# checkout, and the build starts refusing to omit it.
HARBOR_CAPSTAN_OPTIONAL: "1"
concurrency:
group: app-build-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.runner }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
platform:
- name: Windows
runner: windows-latest
- name: macOS
runner: macos-latest
- name: Linux
runner: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Linux build dependencies
if: matrix.platform.name == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
libasound2-dev \
libayatana-appindicator3-dev \
libgtk-3-dev \
libmpv-dev \
librsvg2-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
pkg-config \
xz-utils
- name: Install macOS build dependencies
if: matrix.platform.name == 'macOS'
run: brew install mpv pkg-config
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust build
uses: Swatinem/rust-cache@v2
with:
workspaces: |
harbor-core
src-tauri
- name: Setup pnpm
uses: pnpm/action-setup@v5
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
- name: Set up Pokémon engine SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.401'
- name: Build Pokémon engine and corresponding source bundle
run: node tools/pokemon-engine/build.mjs --fetch-source "${{ runner.temp }}/harbor-pokemon-source" --output src-tauri/resources/pokemon-engine --artifacts "${{ runner.temp }}/harbor-pokemon-build"
- name: Install JavaScript dependencies
run: pnpm install --frozen-lockfile
- name: Prepare build assets
run: pnpm run setup
- name: Build app without installers
run: pnpm tauri build --no-bundle