Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/actions/build-gui-platform/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Build GUI Platform
description: Setup, build, inspect, and upload Tauri GUI artifacts for one platform

inputs:
version:
description: Version string to sync into Cargo.toml and tauri.conf.json
required: true
tauri-command:
description: Command used to build the GUI bundle
required: true
artifact-name:
description: Artifact name used by actions/upload-artifact
required: true
artifact-path:
description: Newline-separated artifact globs for upload-artifact
required: true
rust-targets:
description: Optional Rust targets to install (comma-separated)
required: false
default: ""
signing-private-key:
description: Tauri updater signing private key content
required: false
default: ""
signing-private-key-password:
description: Tauri updater signing private key password
required: false
default: ""

runs:
using: composite
steps:
- uses: ./.github/actions/setup-node-pnpm

- uses: ./.github/actions/setup-tauri
with:
rust-targets: ${{ inputs.rust-targets }}
signing-private-key: ${{ inputs.signing-private-key }}
signing-private-key-password: ${{ inputs.signing-private-key-password }}
version: ${{ inputs.version }}

- name: Build GUI
shell: bash
working-directory: ./gui
run: ${{ inputs.tauri-command }}

- name: List bundle output
shell: bash
run: |
echo "=== Finding all bundle artifacts ==="
find target -path '*/bundle/*' -type f 2>/dev/null || echo 'No bundle files found'

- name: Upload artifacts
uses: actions/upload-artifact@v7
with:
name: ${{ inputs.artifact-name }}
path: ${{ inputs.artifact-path }}
if-no-files-found: error
77 changes: 26 additions & 51 deletions .github/workflows/build-gui-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,70 +17,45 @@ jobs:
matrix:
include:
- os: windows-latest
platform: windows
rust-targets: ''
tauri-command: pnpm tauri build
artifact-path: |
target/*/release/bundle/**/*.exe
target/release/bundle/**/*.exe
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.sig
- os: ubuntu-24.04
platform: linux
rust-targets: ''
tauri-command: pnpm tauri build
artifact-path: |
target/*/release/bundle/**/*.AppImage
target/*/release/bundle/**/*.deb
target/*/release/bundle/**/*.rpm
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.AppImage
target/release/bundle/**/*.deb
target/release/bundle/**/*.rpm
target/release/bundle/**/*.sig
- os: macos-14
platform: macos
rust-targets: aarch64-apple-darwin,x86_64-apple-darwin
tauri-command: pnpm tauri build --target universal-apple-darwin
artifact-path: |
target/*/release/bundle/**/*.dmg
target/*/release/bundle/**/*.tar.gz
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.dmg
target/release/bundle/**/*.tar.gz
target/release/bundle/**/*.sig
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup-node-pnpm
- uses: ./.github/actions/setup-tauri

- uses: ./.github/actions/build-gui-platform
with:
tauri-command: ${{ matrix.tauri-command }}
artifact-name: gui-${{ matrix.os }}
artifact-path: ${{ matrix.artifact-path }}
rust-targets: ${{ matrix.rust-targets }}
signing-private-key: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
signing-private-key-password: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
version: ${{ inputs.version }}

- name: Build GUI
working-directory: ./gui
run: ${{ matrix.tauri-command }}

- name: Upload Windows artifacts
if: matrix.platform == 'windows'
uses: actions/upload-artifact@v7
with:
name: gui-${{ matrix.os }}
path: |
target/*/release/bundle/**/*.exe
target/release/bundle/**/*.exe
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.sig
if-no-files-found: error

- name: Upload Linux artifacts
if: matrix.platform == 'linux'
uses: actions/upload-artifact@v7
with:
name: gui-${{ matrix.os }}
path: |
target/*/release/bundle/**/*.AppImage
target/*/release/bundle/**/*.deb
target/*/release/bundle/**/*.rpm
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.AppImage
target/release/bundle/**/*.deb
target/release/bundle/**/*.rpm
target/release/bundle/**/*.sig
if-no-files-found: error

- name: Upload macOS artifacts
if: matrix.platform == 'macos'
uses: actions/upload-artifact@v7
with:
name: gui-${{ matrix.os }}
path: |
target/*/release/bundle/**/*.dmg
target/*/release/bundle/**/*.tar.gz
target/*/release/bundle/**/*.sig
target/release/bundle/**/*.dmg
target/release/bundle/**/*.tar.gz
target/release/bundle/**/*.sig
if-no-files-found: error
Loading
Loading