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
8 changes: 8 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"WebFetch(domain:github.com)",
"WebFetch(domain:evilmartians.com)"
]
}
}
46 changes: 46 additions & 0 deletions .github/actions/tauri-build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: tauri-build
description: Common Tauri build steps

runs:
using: composite
steps:
- name: setup node
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: npm
cache-dependency-path: package-lock.json

- name: setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x

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

- name: cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-${{ runner.arch }}-cargo-v2-${{ hashFiles('src-tauri/Cargo.lock', 'src-tauri/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-cargo-v2-

- name: cache nuget
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('src-dotnet/**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-

- name: install frontend dependencies
run: npm ci
shell: bash

- name: build tauri
run: npm run tauri build
shell: bash
71 changes: 0 additions & 71 deletions .github/workflows/build.yml

This file was deleted.

60 changes: 60 additions & 0 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: tauri-build-linux

on:
push:
branches:
- master
pull_request:

jobs:
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4

- name: install dependencies
run: |
sudo apt-get update
# Newer WebKit builds have caused EGL initialization failures in some AppImage targets (e.g. SteamOS).
# Prefer the known stable 2.44.3 toolchain when available.
sudo apt-get install -y \
libwebkit2gtk-4.1-dev=2.44.3-0ubuntu0.22.04.1 \
libjavascriptcoregtk-4.1-dev=2.44.3-0ubuntu0.22.04.1 \
libgtk-3-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
clang \
zlib1g-dev \
|| sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libjavascriptcoregtk-4.1-dev \
libgtk-3-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
clang \
zlib1g-dev

- uses: ./.github/actions/tauri-build

- name: upload appimage
uses: actions/upload-artifact@v4
with:
name: linux-appimage
path: src-tauri/target/release/bundle/appimage/*.AppImage
if-no-files-found: ignore

- name: upload deb
uses: actions/upload-artifact@v4
with:
name: linux-deb
path: src-tauri/target/release/bundle/deb/*.deb
if-no-files-found: ignore

- name: upload rpm
uses: actions/upload-artifact@v4
with:
name: linux-rpm
path: src-tauri/target/release/bundle/rpm/*.rpm
if-no-files-found: ignore
29 changes: 29 additions & 0 deletions .github/workflows/ci-macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: tauri-build-macos

on:
push:
branches:
- master
pull_request:

jobs:
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/tauri-build

- name: upload dmg
uses: actions/upload-artifact@v4
with:
name: macos-dmg
path: src-tauri/target/release/bundle/dmg/*.dmg
if-no-files-found: ignore

- name: upload app
uses: actions/upload-artifact@v4
with:
name: macos-app
path: src-tauri/target/release/bundle/macos/*.app
if-no-files-found: ignore
29 changes: 29 additions & 0 deletions .github/workflows/ci-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: tauri-build-windows

on:
push:
branches:
- master
pull_request:

jobs:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/tauri-build

- name: upload msi
uses: actions/upload-artifact@v4
with:
name: windows-msi
path: src-tauri/target/release/bundle/msi/*.msi
if-no-files-found: ignore

- name: upload nsis
uses: actions/upload-artifact@v4
with:
name: windows-nsis
path: src-tauri/target/release/bundle/nsis/*.exe
if-no-files-found: ignore
86 changes: 61 additions & 25 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,32 +1,68 @@
# OS
.DS_Store
Thumbs.db
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# IDE
.vscode/
.vs/
node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
!src-dotnet/src-dotnet.sln
*.sw?
.idea/
.vs/
.fleet/
.cr/


# dotnet
*.swp
*.*~
project.lock.json
.DS_Store
*.pyc
nupkg/

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# .NET build output
bin/
obj/
wwwroot/

# Embedded UI output (generated by Vite build)
Resources/wwwroot/

# Node / Vite
UserInterface/**/node_modules/
UserInterface/**/dist/
UserInterface/**/.vite/
UserInterface/.next/
UserInterface/**/.turbo/
UserInterface/**/.eslintcache
UserInterface/**/npm-debug.log*
UserInterface/**/yarn-debug.log*
UserInterface/**/yarn-error.log*
UserInterface/**/pnpm-debug.log*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
msbuild.log
msbuild.err
msbuild.wrn

# python tools
.mypy_cache/
.pycache/

# Tauri sidecar binaries (built from src-dotnet)
src-tauri/binaries/*
!src-tauri/binaries/.gitkeep
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"]
}
Loading