diff --git a/posimai-guard-app/.github/workflows/build-linux.yml b/posimai-guard-app/.github/workflows/build-linux.yml new file mode 100644 index 00000000..60f2a972 --- /dev/null +++ b/posimai-guard-app/.github/workflows/build-linux.yml @@ -0,0 +1,72 @@ +name: Build Linux + +on: + workflow_dispatch: # 手動実行 + push: + tags: + - 'v*' # v1.0.0 など tag push で自動実行 + +jobs: + build-linux: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + libwebkit2gtk-4.1-dev \ + libappindicator3-dev \ + librsvg2-dev \ + patchelf \ + libssl-dev \ + libgtk-3-dev \ + libayatana-appindicator3-dev + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Cache Rust + uses: Swatinem/rust-cache@v2 + with: + workspaces: src-tauri + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install npm dependencies + run: npm install + + - name: Build Tauri (Linux) + run: npm run build + env: + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + + - name: Upload .deb + uses: actions/upload-artifact@v4 + with: + name: posimai-guard-linux-deb + path: src-tauri/target/release/bundle/deb/*.deb + if-no-files-found: warn + + - name: Upload .AppImage + uses: actions/upload-artifact@v4 + with: + name: posimai-guard-linux-appimage + path: src-tauri/target/release/bundle/appimage/*.AppImage + if-no-files-found: warn + + - name: Create GitHub Release (on tag) + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v2 + with: + files: | + src-tauri/target/release/bundle/deb/*.deb + src-tauri/target/release/bundle/appimage/*.AppImage + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}