Skip to content

v 4.1

v 4.1 #18

name: Build Windows Executable
on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: "Version string for the EXE (e.g., 1.0.0)"
required: false
default: ""
permissions:
contents: write
jobs:
build-windows-exe:
runs-on: windows-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Install Python dependencies
run: uv sync
- name: Install PyInstaller
run: uv pip install pyinstaller
- name: Install frontend dependencies
run: npm ci
working-directory: frontend
- name: Build frontend
run: npm run build
working-directory: frontend
- name: Build Windows executable
run: uv run pyinstaller ChitChats.spec --noconfirm
- name: Upload executable artifact
uses: actions/upload-artifact@v4
with:
name: ChitChats-Windows
path: dist/ChitChats.exe
if-no-files-found: error
- name: Upload to release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v2
with:
files: dist/ChitChats.exe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}