GitHub Actions
GitHub Actions workflows for building desktop applications, Docker images, and releases.
Workflow Filesโ
Located in .github/workflows/:
| Workflow | Purpose |
|---|---|
desktop-timer-*.yml | Build Desktop Timer (Win/Mac/Linux) |
desktop-app-*.yml | Build Desktop App (Win/Mac/Linux) |
desktop-server-*.yml | Build Desktop Server |
docker-build-*.yml | Build and push Docker images |
release-*.yml | Create GitHub releases |
Desktop Build Pipelineโ
Trigger (push/tag/manual)
โ
โโโ Setup Environment
โ โโโ Checkout code
โ โโโ Install Node.js
โ โโโ Install dependencies (yarn)
โ
โโโ Build
โ โโโ NX build (API + Desktop assets)
โ โโโ Electron build
โ โโโ Code signing (macOS/Windows)
โ
โโโ Publish
โโโ Upload artifacts
โโโ Create GitHub Release
โโโ Upload to release assets
Platform-Specific Buildsโ
Windowsโ
- name: Build Windows
run: yarn electron:build:windows
env:
CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
macOSโ
- name: Build macOS
run: yarn electron:build:mac
env:
CSC_LINK: ${{ secrets.MAC_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.MAC_CSC_KEY_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_APP_PASSWORD: ${{ secrets.APPLE_ID_APP_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
Linuxโ
- name: Build Linux
run: yarn electron:build:linux
Docker Image Workflowsโ
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: .deploy/api/Dockerfile
push: true
tags: ghcr.io/ever-co/gauzy-api:latest
Secrets Requiredโ
| Secret | Purpose |
|---|---|
WIN_CSC_LINK | Windows code signing certificate |
WIN_CSC_KEY_PASSWORD | Windows certificate password |
MAC_CSC_LINK | macOS code signing certificate |
APPLE_ID | Apple ID for notarization |
APPLE_ID_APP_PASSWORD | App-specific password |
GH_TOKEN | GitHub token for releases |