chore: add agent review skills #781
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: E2E Backend Integration Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| e2e-backend: | |
| runs-on: ubuntu-latest-16-cores | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Load component versions | |
| run: | | |
| set -a | |
| source versions.env | |
| set +a | |
| echo "KAITO_VERSION=${KAITO_VERSION}" >> "$GITHUB_ENV" | |
| - name: Setup Go | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version: "1.25" | |
| cache-dependency-path: controller/go.sum | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| with: | |
| bun-version: latest | |
| - name: Setup Kind | |
| run: | | |
| go install sigs.k8s.io/kind@latest | |
| kind create cluster --name airunway-backend-e2e --wait 120s | |
| - name: Install KAITO operator | |
| run: | | |
| helm repo add kaito https://kaito-project.github.io/kaito/charts/kaito | |
| # If Gateway API Inference Extension CRDs are pre-installed (e.g. via kubectl apply), | |
| # add --skip-crds to avoid a field-manager conflict on InferencePool. | |
| helm install kaito-workspace kaito/workspace \ | |
| --namespace kaito-workspace \ | |
| --create-namespace \ | |
| --version "${KAITO_VERSION}" \ | |
| --set featureGates.disableNodeAutoProvisioning=true \ | |
| --set image.repository=ghcr.io/kaito-project/kaito/workspace \ | |
| --set image.tag="${KAITO_VERSION}" \ | |
| --set image.pullPolicy=IfNotPresent \ | |
| --set nvidiaDevicePlugin.enabled=false \ | |
| --set localCSIDriver.useLocalCSIDriver=false \ | |
| --set gpu-feature-discovery.gfd.enabled=false \ | |
| --set gpu-feature-discovery.nfd.enabled=false | |
| kubectl wait --for=condition=Available deployment -n kaito-workspace -l app.kubernetes.io/name=workspace --timeout=120s | |
| - name: Build and deploy controller | |
| run: | | |
| make controller-docker-build CONTROLLER_IMG=airunway-controller:e2e | |
| kind load docker-image airunway-controller:e2e --name airunway-backend-e2e | |
| make controller-deploy CONTROLLER_IMG=airunway-controller:e2e | |
| kubectl wait --for=condition=Available deployment -n airunway-system -l control-plane=controller-manager --timeout=120s | |
| - name: Build and deploy KAITO provider | |
| run: | | |
| make -C providers/kaito docker-build IMG=kaito-provider:e2e | |
| kind load docker-image kaito-provider:e2e --name airunway-backend-e2e | |
| make -C providers/kaito deploy IMG=kaito-provider:e2e | |
| kubectl wait --for=condition=Available deployment -n airunway-system -l control-plane=kaito-provider --timeout=120s | |
| - name: Wait for provider registration | |
| run: | | |
| kubectl wait --for=jsonpath='{.status.ready}'=true inferenceproviderconfig/kaito --timeout=120s | |
| - name: Install dependencies | |
| run: bun ci | |
| - name: Run backend integration tests | |
| run: | | |
| cd backend | |
| bun test | |
| - name: Collect debug info | |
| if: failure() | |
| run: | | |
| echo "=== InferenceProviderConfigs ===" | |
| kubectl get inferenceproviderconfigs -o yaml | |
| echo "=== Controller Logs ===" | |
| kubectl logs -n airunway-system -l control-plane=controller-manager --tail=100 | |
| echo "=== KAITO Provider Logs ===" | |
| kubectl logs -n airunway-system -l control-plane=kaito-provider --tail=100 | |
| echo "=== Pods ===" | |
| kubectl get pods -A | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| kind delete cluster --name airunway-backend-e2e |