fix(providers): inject shim version at build time #837
Workflow file for this run
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - 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 \ | |
| --set featureGates.disableNodeAutoProvisioning=true | |
| 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 |