Skip to content

Commit 254b8c1

Browse files
Merge: add GitHub Actions release workflow for Windows builds
Co-authored-by: Chimdumebi Nebolisa <ChimdumebiNebolisa@users.noreply.github.com>
2 parents 54e3aaf + 84f1d84 commit 254b8c1

1 file changed

Lines changed: 117 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Build and Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
tag:
7+
description: "Git tag to build and release (e.g. v2.1.1)"
8+
required: true
9+
type: string
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
build-windows:
16+
runs-on: windows-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
ref: ${{ inputs.tag }}
21+
22+
- name: Install Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: 22
26+
27+
- name: Install Rust stable
28+
uses: dtolnay/rust-toolchain@stable
29+
30+
- name: Cache Cargo registry and build
31+
uses: actions/cache@v4
32+
with:
33+
path: |
34+
~/.cargo/registry
35+
~/.cargo/git
36+
src-tauri/target
37+
key: windows-cargo-${{ hashFiles('src-tauri/Cargo.lock') }}
38+
restore-keys: windows-cargo-
39+
40+
- name: Install npm dependencies
41+
run: npm ci
42+
43+
- name: Typecheck
44+
run: npm run typecheck
45+
46+
- name: Unit and integration tests
47+
run: npm run test
48+
49+
- name: Build frontend
50+
run: npm run build
51+
52+
- name: Rust tests
53+
run: cargo test
54+
working-directory: src-tauri
55+
56+
- name: Build Tauri (Windows)
57+
run: npm run tauri -- build
58+
59+
- name: Upload NSIS installer
60+
uses: actions/upload-artifact@v4
61+
with:
62+
name: windows-nsis-installer
63+
path: src-tauri/target/release/bundle/nsis/*.exe
64+
65+
- name: Upload MSI installer
66+
uses: actions/upload-artifact@v4
67+
with:
68+
name: windows-msi-installer
69+
path: src-tauri/target/release/bundle/msi/*.msi
70+
71+
release:
72+
needs: build-windows
73+
runs-on: ubuntu-latest
74+
steps:
75+
- name: Download NSIS artifact
76+
uses: actions/download-artifact@v4
77+
with:
78+
name: windows-nsis-installer
79+
path: artifacts/nsis
80+
81+
- name: Download MSI artifact
82+
uses: actions/download-artifact@v4
83+
with:
84+
name: windows-msi-installer
85+
path: artifacts/msi
86+
87+
- name: Create or update GitHub Release
88+
uses: softprops/action-gh-release@v2
89+
with:
90+
tag_name: ${{ inputs.tag }}
91+
name: StackDrop ${{ inputs.tag }}
92+
body: |
93+
## What's new
94+
95+
### Search accuracy improvements
96+
- **Weighted ranking**: filename matches rank above path matches, which rank above body matches (bm25 10/5/1)
97+
- **Path search**: search by folder/path segments finds documents in nested directories
98+
- **Prefix matching**: partial queries match as you type (e.g. "hel" finds "hello")
99+
- **Highlighted snippets**: search results show `<mark>` highlighted body excerpts
100+
- **Exact filename boost**: typing an exact filename always surfaces it first
101+
- **Auto-relevance sort**: active search uses relevance ranking; empty browse uses recency
102+
103+
### Other
104+
- Safe FTS5 schema migration (old databases upgrade automatically)
105+
- Documentation updated: OCR, watcher, `.doc` support, ranking behavior
106+
- 22 new search accuracy tests (unit + integration + e2e)
107+
108+
### Downloads
109+
| File | Description |
110+
|------|-------------|
111+
| `StackDrop_*_x64-setup.exe` | Windows installer (recommended) |
112+
| `StackDrop_*_x64_en-US.msi` | Windows MSI package |
113+
files: |
114+
artifacts/nsis/*.exe
115+
artifacts/msi/*.msi
116+
draft: false
117+
prerelease: false

0 commit comments

Comments
 (0)