Skip to content

Diagnose with AI for Radar OSS (local, keyless, BYO-agent) #2667

Diagnose with AI for Radar OSS (local, keyless, BYO-agent)

Diagnose with AI for Radar OSS (local, keyless, BYO-agent) #2667

Workflow file for this run

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