name: Build AppImage on: workflow_dispatch: inputs: version: description: "Version tag (e.g. 0.1.0)" required: false default: "" jobs: build: runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y \ libwebkit2gtk-4.1-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libsoup-3.0-dev \ patchelf \ file - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: latest - name: Setup Node uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm - name: Setup Rust uses: dtolnay/rust-toolchain@stable - name: Cache Rust dependencies uses: Swatinem/rust-cache@v2 with: workspaces: src-tauri - name: Install frontend dependencies run: pnpm install - name: Build AppImage run: pnpm tauri build --bundles appimage env: NO_STRIP: "true" - name: Upload AppImage uses: actions/upload-artifact@v4 with: name: Moku-${{ github.event.inputs.version || github.sha }}-amd64.AppImage path: src-tauri/target/release/bundle/appimage/*.AppImage if-no-files-found: error