Skip to content

fix package issues and typo fixes #12

fix package issues and typo fixes

fix package issues and typo fixes #12

name: Test Client E2E (Per Operator)
on:
push:
branches: [main]
paths:
- "packages/client/**"
- "packages/ops/**"
- "packages/manifests/**"
- ".github/workflows/test-e2e-client.yml"
pull_request:
branches: [main]
paths:
- "packages/client/**"
- "packages/ops/**"
- "packages/manifests/**"
- ".github/workflows/test-e2e-client.yml"
workflow_dispatch:
jobs:
e2e-operators:
runs-on: ubuntu-latest
timeout-minutes: 40
strategy:
fail-fast: false
matrix:
operator:
- ingress-nginx
- cert-manager
- knative-serving
- cloudnative-pg
- kube-prometheus-stack
- minio-operator
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: v1.31.3
- name: Setup Kind cluster
uses: helm/[email protected]
with:
cluster_name: kind
kubectl_version: v1.31.3
wait: 300s
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.12.2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build packages (excluding ops dashboard)
run: pnpm --filter='!@kubernetesjs/ops-dashboard' build
- name: Verify cluster connection
run: |
kubectl cluster-info
kubectl get nodes -o wide
kubectl get namespaces
- name: Start kubectl proxy
run: |
kubectl proxy --port=8001 --accept-hosts='^.*$' --address='0.0.0.0' &
echo "PROXY_PID=$!" >> $GITHUB_ENV
sleep 5
curl -f http://127.0.0.1:8001/api || (echo 'proxy failed' && exit 1)
- name: Run e2e per-operator test
run: |
cd packages/client
pnpm run tests:e2e -- --runInBand --testPathPattern e2e.setup.operator.test.ts
env:
K8S_API: http://127.0.0.1:8001
OPERATOR: ${{ matrix.operator }}
NODE_ENV: test
- name: Cluster state after job
if: always()
run: |
echo '=== Namespaces ==='
kubectl get namespaces
echo '=== Pods ==='
kubectl get pods -A -o wide
e2e-postgres:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: v1.31.3
- name: Setup Kind cluster
uses: helm/[email protected]
with:
cluster_name: kind
kubectl_version: v1.31.3
wait: 300s
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.12.2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build packages (excluding ops dashboard)
run: pnpm --filter='!@kubernetesjs/ops-dashboard' build
- name: Verify cluster connection
run: |
kubectl cluster-info
kubectl get nodes -o wide
kubectl get namespaces
- name: Start kubectl proxy
run: |
kubectl proxy --port=8001 --accept-hosts='^.*$' --address='0.0.0.0' &
echo "PROXY_PID=$!" >> $GITHUB_ENV
sleep 5
curl -f http://127.0.0.1:8001/api || (echo 'proxy failed' && exit 1)
- name: Run Postgres E2E
run: |
cd packages/client
pnpm run tests:e2e -- --runInBand --testPathPattern e2e.postgres.test.ts
env:
K8S_API: http://127.0.0.1:8001
NODE_ENV: test
- name: Cluster state after job
if: always()
run: |
echo '=== Namespaces ==='
kubectl get namespaces
echo '=== Pods ==='
kubectl get pods -A -o wide