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 |