Diagnose with AI for Radar OSS (local, keyless, BYO-agent) #2667
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: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| pkg: | |
| name: pkg (shared library) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: pkg | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.26' | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Run tests | |
| run: go test ./... | |
| - name: Build | |
| run: go build ./... | |
| backend: | |
| name: Backend | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.26' | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Run tests | |
| run: go test ./... | |
| - name: Build | |
| run: go build -o explorer ./cmd/explorer | |
| frontend: | |
| name: Frontend | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Type check | |
| run: npm run tsc | |
| working-directory: web | |
| - name: Build | |
| run: npm run build | |
| working-directory: web | |
| k8s-ui: | |
| name: k8s-ui (shared UI) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run tests | |
| run: npm test | |
| working-directory: packages/k8s-ui | |
| helm: | |
| name: Helm chart | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Helm | |
| uses: azure/setup-helm@v5 | |
| - name: Lint | |
| run: helm lint deploy/helm/radar | |
| - name: Render default values | |
| run: helm template radar deploy/helm/radar > /dev/null | |
| - name: Render cloud.enabled with inline token | |
| run: | | |
| helm template radar deploy/helm/radar \ | |
| --set cloud.enabled=true \ | |
| --set cloud.url=wss://cloud.example/agent \ | |
| --set cloud.clusterName=test \ | |
| --set cloud.token=rhc_deadbeef > /dev/null | |
| - name: Render cloud.enabled with existingSecret | |
| run: | | |
| helm template radar deploy/helm/radar \ | |
| --set cloud.enabled=true \ | |
| --set cloud.url=wss://cloud.example/agent \ | |
| --set cloud.clusterName=test \ | |
| --set cloud.existingSecret=my-cloud-token > /dev/null | |
| - name: Reject cloud.enabled without token or existingSecret | |
| run: | | |
| if helm template radar deploy/helm/radar \ | |
| --set cloud.enabled=true \ | |
| --set cloud.url=wss://cloud.example/agent \ | |
| --set cloud.clusterName=test 2>/dev/null; then | |
| echo "ERROR: helm template should have failed with no token set" | |
| exit 1 | |
| fi | |
| - name: Intall helmfile | |
| uses: helmfile/helmfile-action@v2.2.0 | |
| with: | |
| helmfile-auto-init: 'true' | |
| helm-plugins: > | |
| https://github.com/helm-unittest/helm-unittest@v1.1.0 | |
| - name: Run all helmfile unittests | |
| run: helmfile -f ./deploy/helm/ unittest |