ื“ืœื’ ืœืชื•ื›ืŸ ื”ืจืืฉื™

CI/CD Overview

Ever Gauzy uses multiple CI/CD pipelines for building, testing, and deploying across all platforms.

CI/CD Platformsโ€‹

PlatformPurpose
GitHub ActionsDesktop apps, releases, Docker images
CircleCIAPI and webapp builds, testing

Pipeline Architectureโ€‹

Code Push / PR
โ”‚
โ”œโ”€โ”€ GitHub Actions
โ”‚ โ”œโ”€โ”€ Build Desktop Apps (Win, Mac, Linux)
โ”‚ โ”œโ”€โ”€ Build Docker Images
โ”‚ โ”œโ”€โ”€ Publish to GitHub Releases
โ”‚ โ””โ”€โ”€ Push to Container Registry
โ”‚
โ””โ”€โ”€ CircleCI
โ”œโ”€โ”€ Lint & Type Check
โ”œโ”€โ”€ Build API & Webapp
โ”œโ”€โ”€ Run Tests
โ””โ”€โ”€ Deploy to Staging/Production

Build Targetsโ€‹

TargetCI PlatformOutput
API (NestJS)CircleCIDocker image
Webapp (Angular)CircleCIDocker image / static
Desktop TimerGitHub Actions.exe, .dmg, .AppImage
Desktop ServerGitHub Actions.exe, .dmg, .AppImage
Browser ExtensionGitHub Actions.zip

NX Integrationโ€‹

All builds use NX for task orchestration:

# Build only affected projects
npx nx affected --target=build

# Build specific project
npx nx build api

# Build with remote caching
npx nx build api --skip-nx-cache=false

NX Cloudโ€‹

Remote caching accelerates CI builds:

# Enable NX Cloud
NX_NO_CLOUD=false
NX_CLOUD_ACCESS_TOKEN=your-token