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
96 changes: 96 additions & 0 deletions .github/workflows/tauri-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Tauri Build (Desktop)

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

runs-on: ${{ matrix.os }}

env:
RUSTFLAGS: "-C target-cpu=native"

steps:
- uses: actions/checkout@v4

- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
desktop/target
key: ${{ runner.os }}-cargo-${{ hashFiles('desktop/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Cache npm
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('frontend/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install Poetry
run: pipx install poetry

- name: Linux deps (WebKit/GTK)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev \
librsvg2-dev libxdo-dev libssl-dev build-essential curl wget \
file pkg-config patchelf

- name: Install backend deps
run: poetry install --with dev

- name: Build backend sidecar
run: ./backend/build_sidecar.sh
shell: bash

- name: Install frontend deps
working-directory: frontend
run: npm ci

- name: Build frontend
working-directory: frontend
run: npm run build

- name: Tauri build
working-directory: frontend
run: npm run tauri:build

- name: Upload bundle
if: always()
uses: actions/upload-artifact@v4
with:
name: litefetch-${{ matrix.os }}
path: |
desktop/target/release/bundle/**
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
package-lock.json
frontend/src-tauri/target/
frontend/src-tauri/bin/

Expand Down Expand Up @@ -101,6 +100,7 @@ Thumbs.db

# Project specific
workspace/
!frontend/src/components/workspace/
*.db
*.sqlite
*.sqlite3
Expand Down
2 changes: 1 addition & 1 deletion desktop/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "litefetch-desktop"
version = "0.1.0"
description = "LiteFetch desktop shell (Tauri 2)"
authors = ["Jordan Gonzales (JTech Minds)"]
edition = "2025"
edition = "2021"

[build-dependencies]
tauri-build = { version = "2", features = [] }
Expand Down
Loading
Loading