@@ -14,49 +14,21 @@ jobs:
1414 runs-on : ubuntu-22.04
1515 steps :
1616 - uses : actions/checkout@v4
17-
18- - name : Install pnpm
19- uses : pnpm/action-setup@v4
20- with :
21- version : 9
22-
23- - name : Setup Node.js
24- uses : actions/setup-node@v4
25- with :
26- node-version : 22
27- cache : pnpm
28-
29- - name : Install Rust stable
30- uses : dtolnay/rust-toolchain@stable
31-
32- - name : Rust cache
33- uses : swatinem/rust-cache@v2
34- with :
35- workspaces : src-tauri
36-
17+ - uses : pnpm/action-setup@v4
18+ with : { version: 9 }
19+ - uses : actions/setup-node@v4
20+ with : { node-version: 22, cache: pnpm }
21+ - uses : dtolnay/rust-toolchain@stable
22+ - uses : swatinem/rust-cache@v2
23+ with : { workspaces: src-tauri }
3724 - name : Install Linux dependencies
38- run : |
39- sudo apt-get update
40- sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libgtk-3-dev
41-
42- - name : Install frontend dependencies
43- run : pnpm install --no-frozen-lockfile
44-
45- - name : Install Tauri CLI
46- run : pnpm add -Dw @tauri-apps/cli
47-
48- - name : Build frontend
49- run : pnpm --filter @telomere/web build
50-
51- - name : Build Tauri app
52- run : pnpm tauri build
53- env :
54- CI : true
55-
56- - name : List artifacts
57- run : find src-tauri/target/release/bundle -type f \( -name "*.deb" -o -name "*.AppImage" -o -name "*.rpm" \) ! -name "*.sig" | head -20
58-
59- - name : Create Release & Upload
25+ run : sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libgtk-3-dev
26+ - run : pnpm install --no-frozen-lockfile
27+ - run : pnpm add -Dw @tauri-apps/cli
28+ - run : pnpm --filter @telomere/web build
29+ - run : pnpm tauri build
30+ env : { CI: true }
31+ - name : Upload artifacts
6032 uses : softprops/action-gh-release@v2
6133 with :
6234 tag_name : ${{ github.ref_name }}
6537 Free, open-source genetic analysis desktop app.
6638
6739 **Download for your platform:**
68- - `.deb` — Debian/Ubuntu
69- - `.AppImage` — Universal Linux
70- - `.rpm` — Fedora/RHEL
71-
72- macOS and Windows builds coming soon.
40+ - `.dmg` — macOS
41+ - `.exe` / `.msi` — Windows
42+ - `.deb` / `.AppImage` / `.rpm` — Linux
7343
7444 Your DNA never leaves your computer.
7545 draft : false
7949 src-tauri/target/release/bundle/appimage/*.AppImage
8050 src-tauri/target/release/bundle/rpm/*.rpm
8151 fail_on_unmatched_files : false
52+
53+ build-macos-arm :
54+ runs-on : macos-latest
55+ steps :
56+ - uses : actions/checkout@v4
57+ - uses : pnpm/action-setup@v4
58+ with : { version: 9 }
59+ - uses : actions/setup-node@v4
60+ with : { node-version: 22, cache: pnpm }
61+ - uses : dtolnay/rust-toolchain@stable
62+ with : { targets: aarch64-apple-darwin }
63+ - uses : swatinem/rust-cache@v2
64+ with : { workspaces: src-tauri }
65+ - run : pnpm install --no-frozen-lockfile
66+ - run : pnpm add -Dw @tauri-apps/cli
67+ - run : pnpm --filter @telomere/web build
68+ - run : pnpm tauri build --target aarch64-apple-darwin
69+ env : { CI: true }
70+ - name : Upload artifacts
71+ uses : softprops/action-gh-release@v2
72+ with :
73+ tag_name : ${{ github.ref_name }}
74+ name : ' Telomere AI ${{ github.ref_name }}'
75+ draft : false
76+ prerelease : false
77+ files : |
78+ src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg
79+ fail_on_unmatched_files : false
80+
81+ build-macos-intel :
82+ runs-on : macos-13
83+ steps :
84+ - uses : actions/checkout@v4
85+ - uses : pnpm/action-setup@v4
86+ with : { version: 9 }
87+ - uses : actions/setup-node@v4
88+ with : { node-version: 22, cache: pnpm }
89+ - uses : dtolnay/rust-toolchain@stable
90+ with : { targets: x86_64-apple-darwin }
91+ - uses : swatinem/rust-cache@v2
92+ with : { workspaces: src-tauri }
93+ - run : pnpm install --no-frozen-lockfile
94+ - run : pnpm add -Dw @tauri-apps/cli
95+ - run : pnpm --filter @telomere/web build
96+ - run : pnpm tauri build --target x86_64-apple-darwin
97+ env : { CI: true }
98+ - name : Upload artifacts
99+ uses : softprops/action-gh-release@v2
100+ with :
101+ tag_name : ${{ github.ref_name }}
102+ name : ' Telomere AI ${{ github.ref_name }}'
103+ draft : false
104+ prerelease : false
105+ files : |
106+ src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/*.dmg
107+ fail_on_unmatched_files : false
108+
109+ build-windows :
110+ runs-on : windows-latest
111+ steps :
112+ - uses : actions/checkout@v4
113+ - uses : pnpm/action-setup@v4
114+ with : { version: 9 }
115+ - uses : actions/setup-node@v4
116+ with : { node-version: 22, cache: pnpm }
117+ - uses : dtolnay/rust-toolchain@stable
118+ - uses : swatinem/rust-cache@v2
119+ with : { workspaces: src-tauri }
120+ - run : pnpm install --no-frozen-lockfile
121+ - run : pnpm add -Dw @tauri-apps/cli
122+ - run : pnpm --filter @telomere/web build
123+ - run : pnpm tauri build
124+ env : { CI: true }
125+ - name : Upload artifacts
126+ uses : softprops/action-gh-release@v2
127+ with :
128+ tag_name : ${{ github.ref_name }}
129+ name : ' Telomere AI ${{ github.ref_name }}'
130+ draft : false
131+ prerelease : false
132+ files : |
133+ src-tauri/target/release/bundle/nsis/*.exe
134+ src-tauri/target/release/bundle/msi/*.msi
135+ fail_on_unmatched_files : false
0 commit comments