Skip to content

web | api | docs: Explain variable references to agents #1062

web | api | docs: Explain variable references to agents

web | api | docs: Explain variable references to agents #1062

Workflow file for this run

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 ./...