name: Build Tamagotchi permissions: contents: write on: workflow_dispatch: jobs: build-tamagotchi: name: Build Tamagotchi strategy: matrix: include: - os: macos-latest target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin - os: ubuntu-latest target: x86_64-unknown-linux-gnu - os: ubuntu-24.04-arm target: aarch64-unknown-linux-gnu - os: windows-latest target: x86_64-pc-windows-msvc runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 with: run_install: false - name: Install Node.js 23.x uses: actions/setup-node@v4 with: cache: pnpm node-version: 23.x # registry-url required. Learn more at # https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages registry-url: https://registry.npmjs.org - name: Install Rust Stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }} - name: install system dependencies (ubuntu only) if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build Dependencies run: pnpm run build:packages - name: Build Application run: cd apps/stage-tamagotchi && pnpm tauri build --target ${{ matrix.target }} - name: Rename Artifacts run: node apps/stage-tamagotchi/scripts/rename-artifacts.js ${{ matrix.target }} - name: Upload To GitHub Releases uses: softprops/action-gh-release@v2 with: files: apps/stage-tamagotchi/bundle/airi_* append_body: true