Skip to content

Release notes: use English #10

Release notes: use English

Release notes: use English #10

Workflow file for this run

name: Desktop Release
on:
push:
tags:
- 'desktop-v*'
workflow_dispatch:
permissions:
contents: write
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: macos-14
platform: mac
arch: arm64
electron_args: --mac --arm64
- os: macos-14
platform: mac
arch: x64
electron_args: --mac --x64
- os: windows-latest
platform: win
arch: x64
electron_args: --win --x64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install web dependencies
run: cd apps/web && npm ci
- name: Install desktop dependencies
run: cd apps/desktop && npm ci
# API venv for `uv pip freeze` in build script
- name: Setup API venv
shell: bash
run: |
cd apps/api
python -m venv .venv
if [ "$RUNNER_OS" = "Windows" ]; then
.venv/Scripts/pip install -e "."
else
.venv/bin/pip install -e "."
fi
- name: Build backend
run: cd apps/desktop && npx tsx scripts/build-pyinstaller.ts
shell: bash
- name: Build frontend
run: cd apps/desktop && npx tsx scripts/build-next.ts
shell: bash
- name: Compile TypeScript
run: cd apps/desktop && npx tsc -p tsconfig.electron.json
- name: Package
env:
CSC_IDENTITY_AUTO_DISCOVERY: 'false'
run: cd apps/desktop && npx electron-builder ${{ matrix.electron_args }} --publish never --config electron-builder.yml
shell: bash
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: desktop-${{ matrix.platform }}-${{ matrix.arch }}
path: |
apps/desktop/release/*.dmg
apps/desktop/release/*.zip
apps/desktop/release/*.exe
if-no-files-found: error
retention-days: 7
publish:
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/desktop-v')
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
pattern: desktop-*
merge-multiple: true
path: artifacts/
- name: List artifacts
run: find artifacts/ -type f | sort
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: artifacts/**/*
draft: true
name: QueryGPT Desktop ${{ github.ref_name }}
body: |
QueryGPT Desktop — self-contained app with no Python setup required.
## Supported Platforms
- macOS (Apple Silicon) — `.dmg` / `.zip`
- macOS (Intel) — `.dmg` / `.zip`
- Windows — `.exe` (NSIS installer) / `.zip` (portable)
## How to Install
**macOS**
1. Mount the `.dmg` and drag `QueryGPT.app` into Applications
2. On first launch, authorize in System Settings → Privacy & Security
**Windows**
- NSIS installer: run `.exe` and follow the prompts
- Portable: extract the `.zip` and run `QueryGPT.exe` directly
## Features
- Database connections (PostgreSQL, SQLite, MySQL and more)
- Natural language queries — turns questions into SQL automatically
- Model configuration — works with any OpenAI-compatible API
- Semantic layer — define custom business metrics
- Query history and favorites
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}