88 lines
3.2 KiB
YAML
88 lines
3.2 KiB
YAML
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Deploy Test Framework
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
framework:
|
|
description: 'Framework to test (vllm, sglang, trtllm)'
|
|
type: string
|
|
required: true
|
|
profiles:
|
|
description: 'JSON array of deployment profiles to test'
|
|
type: string
|
|
required: true
|
|
image_suffix:
|
|
description: 'Image suffix (e.g. vllm-runtime-cuda12-amd64)'
|
|
type: string
|
|
required: true
|
|
namespace:
|
|
description: 'Host namespace where the vCluster lives'
|
|
type: string
|
|
required: true
|
|
vcluster_name:
|
|
description: 'Name of the vCluster'
|
|
type: string
|
|
required: true
|
|
operator_tag:
|
|
description: 'Operator image tag'
|
|
type: string
|
|
required: true
|
|
|
|
jobs:
|
|
deploy-test:
|
|
runs-on: prod-default-small-v2
|
|
timeout-minutes: 25
|
|
permissions:
|
|
contents: read
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 2
|
|
matrix:
|
|
profile: ${{ fromJSON(inputs.profiles) }}
|
|
name: deploy-test-${{ inputs.framework }} (${{ matrix.profile }})
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
- name: Check if vCluster exists
|
|
id: vcluster-check
|
|
uses: ./.github/actions/check-vcluster-exists
|
|
with:
|
|
kubeconfig_base64: ${{ secrets.AZURE_AKS_CI_KUBECONFIG_B64 }}
|
|
vcluster_name: ${{ inputs.vcluster_name }}
|
|
vcluster_namespace: ${{ inputs.namespace }}
|
|
- name: Self-bootstrap vCluster (rerun)
|
|
if: steps.vcluster-check.outputs.exists != 'true'
|
|
uses: ./.github/actions/setup-dynamo-operator
|
|
with:
|
|
kubeconfig_base64: ${{ secrets.AZURE_AKS_CI_KUBECONFIG_B64 }}
|
|
vcluster_name: ${{ inputs.vcluster_name }}
|
|
vcluster_namespace: ${{ inputs.namespace }}
|
|
registry: ${{ secrets.AZURE_ACR_HOSTNAME }}
|
|
operator_tag: ${{ inputs.operator_tag }}
|
|
hf_token: ${{ secrets.HF_TOKEN }}
|
|
dockerhub_username: ${{ secrets.DOCKERHUB_LOGIN_USER }}
|
|
dockerhub_password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
|
|
- name: Connect to vCluster
|
|
id: connect-vcluster
|
|
uses: ./.github/actions/connect-vcluster
|
|
with:
|
|
host_kubeconfig_base64: ${{ secrets.AZURE_AKS_CI_KUBECONFIG_B64 }}
|
|
vcluster_name: ${{ inputs.vcluster_name }}
|
|
vcluster_namespace: ${{ inputs.namespace }}
|
|
- name: Run Dynamo Deploy Test
|
|
id: deploy-test
|
|
uses: ./.github/actions/dynamo-deploy-test
|
|
with:
|
|
kubeconfig_base64: ${{ steps.connect-vcluster.outputs.kubeconfig_base64 }}
|
|
namespace: default
|
|
registry: ${{ secrets.AZURE_ACR_HOSTNAME }}
|
|
operator_tag: ${{ inputs.operator_tag }}
|
|
hf_token: ${{ secrets.HF_TOKEN }}
|
|
framework: ${{ inputs.framework }}
|
|
profile: ${{ matrix.profile }}
|
|
image: ${{ secrets.AZURE_ACR_HOSTNAME }}/ai-dynamo/dynamo:${{ github.sha }}-${{ inputs.image_suffix }}
|
|
platform_arch: amd64
|