Skip to content

Commit 4e7c512

Browse files
committed
v4.0.0: Full Tauri v2 rewrite — Rust backend, redesigned frontend
1 parent 80d9b55 commit 4e7c512

328 files changed

Lines changed: 24636 additions & 82478 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 30 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -7,110 +7,75 @@ on:
77
workflow_dispatch:
88
inputs:
99
tag:
10-
description: 'Release tag (e.g. v2.1.3-beta)'
10+
description: 'Release tag (e.g. v4.0.0)'
1111
required: true
12-
default: 'v2.3.0'
12+
default: 'v4.0.0'
1313

1414
jobs:
1515
verify:
1616
runs-on: ubuntu-latest
1717
steps:
18-
# Pin to latest stable — verify at https://github.com/actions/checkout/releases if builds break
19-
- uses: actions/checkout@v6
20-
# Pin to latest stable — verify at https://github.com/actions/setup-node/releases if builds break
21-
- uses: actions/setup-node@v6
18+
- uses: actions/checkout@v4
19+
- uses: actions/setup-node@v4
2220
with:
2321
node-version: 20
2422
cache: npm
2523
- run: npm ci
26-
- name: Verify renderer types
27-
run: npm run lint
28-
- name: Verify Electron types
29-
run: npx tsc -p electron/tsconfig.json --noEmit
24+
- name: Type check frontend
25+
run: npx tsc --noEmit
3026
- name: Run tests
3127
run: npm test
32-
- name: Build application bundles
33-
run: npm run build
3428

3529
build-linux:
3630
needs: verify
37-
runs-on: ubuntu-latest
31+
runs-on: ubuntu-22.04
3832
steps:
39-
# Pin to latest stable — verify at https://github.com/actions/checkout/releases if builds break
40-
- uses: actions/checkout@v6
41-
# Pin to latest stable — verify at https://github.com/actions/setup-node/releases if builds break
42-
- uses: actions/setup-node@v6
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-node@v4
4335
with:
4436
node-version: 20
4537
cache: npm
46-
- run: npm ci
38+
- uses: dtolnay/rust-toolchain@stable
4739
- name: Install Linux build dependencies
48-
run: sudo apt-get install -y rpm fakeroot dpkg
49-
- name: Build application bundles
50-
run: npm run build
51-
- name: Package Linux targets
52-
run: npx electron-builder --linux AppImage deb --x64 --publish never
53-
# Pin to latest stable — verify at https://github.com/actions/upload-artifact/releases if builds break
54-
- uses: actions/upload-artifact@v7
40+
run: |
41+
sudo apt-get update
42+
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
43+
- run: npm ci
44+
- name: Build Tauri app
45+
run: npx tauri build
46+
- uses: actions/upload-artifact@v4
5547
with:
5648
name: linux-packages
5749
path: |
58-
release/*.AppImage
59-
release/*.deb
60-
61-
build-macos:
62-
needs: verify
63-
runs-on: macos-latest
64-
steps:
65-
# Pin to latest stable — verify at https://github.com/actions/checkout/releases if builds break
66-
- uses: actions/checkout@v6
67-
# Pin to latest stable — verify at https://github.com/actions/setup-node/releases if builds break
68-
- uses: actions/setup-node@v6
69-
with:
70-
node-version: 20
71-
cache: npm
72-
- run: npm ci
73-
- name: Build application bundles
74-
run: npm run build
75-
- name: Package macOS
76-
run: npx electron-builder --mac dmg --publish never
77-
# Pin to latest stable — verify at https://github.com/actions/upload-artifact/releases if builds break
78-
- uses: actions/upload-artifact@v7
79-
with:
80-
name: macos-installer
81-
path: release/*.dmg
50+
src-tauri/target/release/bundle/appimage/*.AppImage
51+
src-tauri/target/release/bundle/deb/*.deb
8252
8353
build-windows:
8454
needs: verify
8555
runs-on: windows-latest
8656
steps:
87-
# Pin to latest stable — verify at https://github.com/actions/checkout/releases if builds break
88-
- uses: actions/checkout@v6
89-
# Pin to latest stable — verify at https://github.com/actions/setup-node/releases if builds break
90-
- uses: actions/setup-node@v6
57+
- uses: actions/checkout@v4
58+
- uses: actions/setup-node@v4
9159
with:
9260
node-version: 20
9361
cache: npm
62+
- uses: dtolnay/rust-toolchain@stable
9463
- run: npm ci
95-
- name: Build application bundles
96-
run: npm run build
97-
- name: Package Windows
98-
run: npx electron-builder --win nsis --x64 --publish never
99-
# Pin to latest stable — verify at https://github.com/actions/upload-artifact/releases if builds break
100-
- uses: actions/upload-artifact@v7
64+
- name: Build Tauri app
65+
run: npx tauri build
66+
- uses: actions/upload-artifact@v4
10167
with:
10268
name: windows-installer
103-
path: release/*.exe
69+
path: src-tauri/target/release/bundle/nsis/*.exe
10470

10571
publish-release:
106-
needs: [build-linux, build-macos, build-windows]
107-
if: needs.build-linux.result == 'success' && needs.build-macos.result == 'success' && needs.build-windows.result == 'success'
72+
needs: [build-linux, build-windows]
73+
if: needs.build-linux.result == 'success' && needs.build-windows.result == 'success'
10874
runs-on: ubuntu-latest
10975
permissions:
11076
contents: write
11177
steps:
112-
# Pin to latest stable — verify at https://github.com/actions/download-artifact/releases if builds break
113-
- uses: actions/download-artifact@v8
78+
- uses: actions/download-artifact@v4
11479
with:
11580
path: release-artifacts
11681
merge-multiple: true
@@ -129,14 +94,11 @@ jobs:
12994
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13095
run: |
13196
tag="${{ steps.tag.outputs.name }}"
132-
mapfile -t files < <(find release-artifacts -type f | sort)
97+
mapfile -t files < <(find release-artifacts -type f \( -name "*.AppImage" -o -name "*.deb" -o -name "*.exe" \) | sort)
13398
if [ "${#files[@]}" -eq 0 ]; then
13499
echo "No release artifacts found."
135100
exit 1
136101
fi
137-
# Upload assets to existing release, or create new release if none exists.
138-
# This avoids the --clobber flag (unsupported in older gh) and the
139-
# delete+create race condition.
140102
if gh release view "$tag" --repo "$GITHUB_REPOSITORY" &>/dev/null; then
141103
echo "Release $tag already exists — uploading artifacts"
142104
gh release upload "$tag" "${files[@]}" \

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ node_modules/
22
build/
33
dist/
44
dist-electron/
5+
src-tauri/target/
56
coverage/
67
.DS_Store
78
*.log

assets/icons/icon.png

22.5 KB
Loading

assets/icons/oc-monogram.svg

Lines changed: 19 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)