Repository navigation
web | api | docs: Explain variable references to agents #1062
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 🧪 CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| api: ${{ steps.filter.outputs.api }} | |
| web: ${{ steps.filter.outputs.web }} | |
| docs: ${{ steps.filter.outputs.docs }} | |
| operator: ${{ steps.filter.outputs.operator }} | |
| installer: ${{ steps.filter.outputs.installer }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| api: | |
| - 'apps/api/**' | |
| web: | |
| - 'apps/web/**' | |
| docs: | |
| - 'apps/docs/**' | |
| - 'apps/web/src/styles/tokens.css' | |
| - 'apps/web/public/fonts/**' | |
| operator: | |
| - 'apps/operator/**' | |
| installer: | |
| - 'apps/installer/**' | |
| api: | |
| name: Go API | |
| needs: changes | |
| if: ${{ needs.changes.outputs.api == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| working-directory: ./apps/api | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup-go | |
| with: | |
| module: apps/api | |
| cache-name: api-test | |
| - run: go test ./... | |
| docs-data: | |
| name: Docs Data | |
| needs: changes | |
| if: ${{ needs.changes.outputs.api == 'true' || needs.changes.outputs.docs == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup-go | |
| with: | |
| module: apps/api | |
| cache-name: api-test | |
| - run: ./scripts/check-docs-data.sh | |
| web-types: | |
| name: Web Client Types | |
| needs: changes | |
| if: ${{ needs.changes.outputs.api == 'true' || needs.changes.outputs.web == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup-go | |
| with: | |
| module: apps/api | |
| cache-name: api-test | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: "npm" | |
| cache-dependency-path: apps/web/package-lock.json | |
| - run: npm ci | |
| working-directory: ./apps/web | |
| - run: ./scripts/check-web-types.sh | |
| web: | |
| name: Web | |
| needs: changes | |
| if: ${{ needs.changes.outputs.web == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| working-directory: ./apps/web | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: "npm" | |
| cache-dependency-path: apps/web/package-lock.json | |
| - run: npm ci | |
| # `npm run build` (eslint + vite build) also generates src/routeTree.gen.ts, | |
| # which typecheck needs — it's gitignored and produced at build time. | |
| - run: npm run build | |
| - run: npm run typecheck | |
| docs: | |
| name: Docs | |
| needs: changes | |
| if: ${{ needs.changes.outputs.docs == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| working-directory: ./apps/docs | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: "npm" | |
| cache-dependency-path: apps/docs/package-lock.json | |
| - run: npm ci | |
| - run: npm run build | |
| - run: npm run typecheck | |
| operator: | |
| name: Operator | |
| needs: changes | |
| if: ${{ needs.changes.outputs.operator == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| working-directory: ./apps/operator | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: ./apps/operator/go.mod | |
| cache-dependency-path: ./apps/operator/go.sum | |
| - run: go build ./... | |
| # Controller tests use envtest (etcd/kube-apiserver); set those up and skip | |
| # the e2e suite (needs a Kind cluster + docker build). | |
| - name: Set up envtest | |
| run: go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest | |
| - name: Test (excluding e2e) | |
| run: | | |
| export KUBEBUILDER_ASSETS="$(setup-envtest use -p path)" | |
| go test $(go list ./... | grep -v /e2e) | |
| installer: | |
| name: Installer | |
| needs: changes | |
| if: ${{ needs.changes.outputs.installer == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| working-directory: ./apps/installer | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: ./apps/installer/go.mod | |
| cache-dependency-path: ./apps/installer/go.sum | |
| - run: go build ./... |