Przejdź do głównej zawartości

GitHub Actions

GitHub Actions workflows for building desktop applications, Docker images, and releases.

Workflow Files

Located in .github/workflows/:

WorkflowPurpose
desktop-timer-*.ymlBuild Desktop Timer (Win/Mac/Linux)
desktop-app-*.ymlBuild Desktop App (Win/Mac/Linux)
desktop-server-*.ymlBuild Desktop Server
docker-build-*.ymlBuild and push Docker images
release-*.ymlCreate 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

SecretPurpose
WIN_CSC_LINKWindows code signing certificate
WIN_CSC_KEY_PASSWORDWindows certificate password
MAC_CSC_LINKmacOS code signing certificate
APPLE_IDApple ID for notarization
APPLE_ID_APP_PASSWORDApp-specific password
GH_TOKENGitHub token for releases