name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: backend: name: Backend runs-on: ubuntu-latest defaults: run: working-directory: backend steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '24' cache: npm cache-dependency-path: backend/package-lock.json - run: npm ci - run: npm run typecheck - run: npm run lint:check - run: npm test -- --passWithNoTests - run: npm run test:e2e - name: Verify Helm migration ConfigMap is in sync run: | npm run sync:migrations if ! git diff --quiet -- helm/cloudhost-platform/migrations; then echo "::error::helm/cloudhost-platform/migrations is out of sync with backend/migrations. Run 'npm run sync:migrations' and commit." git --no-pager diff --stat -- helm/cloudhost-platform/migrations exit 1 fi frontend: name: Frontend runs-on: ubuntu-latest defaults: run: working-directory: frontend steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '24' cache: npm cache-dependency-path: frontend/package-lock.json - run: npm ci - run: npm run typecheck - run: npm run lint - run: npm test - run: npm run build env: NEXT_PUBLIC_API_URL: http://localhost:4000 helm: name: Helm Charts runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: azure/setup-helm@v4 with: version: v3.15.4 - run: helm lint backend/helm/cloudhost-platform - run: helm lint backend/helm/cloudhost-app - run: helm lint backend/helm/cloudhost-logging