summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorhaoyuren <13851610112@163.com>2026-07-30 09:00:55 +0800
committerhaoyuren <13851610112@163.com>2026-07-30 09:00:55 +0800
commit7297f7c339186f8af50f4f0ed3734e4ad4b47aed (patch)
tree9c5b02d50bf7ab5ac64b07ba436f9e2319a87208 /.github/workflows
parentc9cd5119077c69088eb8ba768ee1e1602baec751 (diff)
Cross-platform support: Windows build target and CI release workflow
- Normalize watcher paths to forward slashes (Windows events use backslashes; all sync maps are '/'-keyed), path.delimiter for PATH/TEXINPUTS, dirname() instead of '/'-substring splits, bridge log in os.tmpdir() - Platform-aware TeX search paths (TeX Live / MiKTeX on Windows), terminal shell default (COMSPEC/powershell), native window frame off macOS - electron-builder: NSIS target + win icon + GitHub publish provider - GitHub Actions workflow builds the Windows installer on tag push (node-pty needs MSVC — cannot cross-compile from macOS) and attaches it to the release Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release-windows.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml
new file mode 100644
index 0000000..fb557a5
--- /dev/null
+++ b/.github/workflows/release-windows.yml
@@ -0,0 +1,34 @@
+# Builds the Windows installer on a Windows runner (node-pty must be
+# compiled with MSVC, which cannot be cross-compiled from macOS) and
+# attaches it to the GitHub release for the pushed tag.
+name: Release (Windows)
+
+on:
+ push:
+ tags:
+ - 'v*'
+ workflow_dispatch:
+
+permissions:
+ contents: write
+
+jobs:
+ windows:
+ runs-on: windows-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Build
+ run: npm run build
+
+ - name: Package and publish Windows installer
+ run: npx electron-builder --win --publish always
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}