Skip to content

Add RayTrain DLC (Ray distributed training — EKS + EC2) #100

Add RayTrain DLC (Ray distributed training — EKS + EC2)

Add RayTrain DLC (Ray distributed training — EKS + EC2) #100

name: "PR - vLLM AL2023"
on:
pull_request:
branches: [main]
types: [opened, reopened, synchronize]
paths:
- ".github/config/image/vllm/*-amzn2023.yml"
- ".github/config/model-tests/vllm-model-tests.yml"
- ".github/config/model-tests/vllm-sagemaker-endpoint-tests.yml"
- ".github/workflows/vllm.pipeline.yml"
- ".github/workflows/vllm.pr-amzn2023.yml"
- "docker/vllm/Dockerfile.amzn2023"
- "scripts/docker/common/**"
- "scripts/docker/telemetry/**"
- "scripts/docker/vllm/**"
# omni_* scripts belong to vllm_omni only
- "!scripts/docker/vllm/omni_*"
- "test/efa/**"
- "test/sanity/**"
- "test/security/data/ecr_scan_allowlist/vllm_server/**"
- "test/telemetry/**"
- "test/vllm/sagemaker/**"
# Only the scripts the AL2023 pipeline actually runs: the amzn2023/ subdir
# plus the OS-agnostic shared scripts (setup/regression/cuda + the shared
# EC2 example script the amzn2023 wrapper delegates to). The ubuntu/ SageMaker
# example script is excluded so ubuntu-scoped edits don't trigger AL2023.
- "test/vllm/scripts/amzn2023/**"
- "test/vllm/scripts/vllm_test_setup.sh"
- "test/vllm/scripts/vllm_regression_test.sh"
- "test/vllm/scripts/vllm_cuda_test.sh"
- "test/vllm/scripts/vllm_ec2_examples_test.sh"
- "!docs/**"
permissions:
contents: read
pull-requests: read
jobs:
gatekeeper:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.base.sha }}
fetch-depth: 1
- uses: ./.github/actions/pr-permission-gate
check-changes:
needs: [gatekeeper]
runs-on: ubuntu-latest
outputs:
build-change: ${{ steps.changes.outputs.build-change }}
efa-test-change: ${{ steps.changes.outputs.efa-test-change }}
model-test-change: ${{ steps.changes.outputs.model-test-change }}
sagemaker-test-change: ${{ steps.changes.outputs.sagemaker-test-change }}
sanity-test-change: ${{ steps.changes.outputs.sanity-test-change }}
telemetry-test-change: ${{ steps.changes.outputs.telemetry-test-change }}
upstream-test-change: ${{ steps.changes.outputs.upstream-test-change }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: changes
with:
filters: |
build-change:
- ".github/config/image/vllm/*-amzn2023.yml"
- "docker/vllm/Dockerfile.amzn2023"
- "scripts/docker/common/**"
- "scripts/docker/vllm/**"
- "test/security/data/ecr_scan_allowlist/vllm_server/**"
efa-test-change:
- "test/efa/**"
model-test-change:
- ".github/config/model-tests/vllm-model-tests.yml"
- "test/vllm/scripts/amzn2023/**"
sagemaker-test-change:
- ".github/config/model-tests/vllm-sagemaker-endpoint-tests.yml"
- "test/vllm/sagemaker/**"
sanity-test-change:
- "test/sanity/**"
telemetry-test-change:
- "scripts/docker/telemetry/**"
- "test/telemetry/**"
upstream-test-change:
- "test/vllm/scripts/amzn2023/**"
- "test/vllm/scripts/vllm_test_setup.sh"
- "test/vllm/scripts/vllm_regression_test.sh"
- "test/vllm/scripts/vllm_cuda_test.sh"
- "test/vllm/scripts/vllm_ec2_examples_test.sh"
discover:
needs: [gatekeeper]
runs-on: ubuntu-latest
outputs:
configs: ${{ steps.filter.outputs.configs }}
steps:
- uses: actions/checkout@v6
- id: discover
uses: ./.github/actions/discover-configs
with:
pattern: ".github/config/image/vllm/*-amzn2023.yml"
- id: filter
run: |
FILTERED=$(echo '${{ steps.discover.outputs.configs }}' | jq -c '[.[] | select(.name | contains("hyperpod") | not)]')
echo "configs=${FILTERED}" >> $GITHUB_OUTPUT
pipeline:
needs: [check-changes, discover]
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.discover.outputs.configs) }}
uses: ./.github/workflows/vllm.pipeline.yml
with:
config-file: ${{ matrix.config_file }}
tag-suffix: pr-${{ github.event.pull_request.number }}
build: ${{ needs.check-changes.outputs.build-change == 'true' }}
run-sanity-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.sanity-test-change == 'true' }}
run-security-test: ${{ needs.check-changes.outputs.build-change == 'true' }}
run-telemetry-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.telemetry-test-change == 'true' }}
run-upstream-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.upstream-test-change == 'true' }}
run-model-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.model-test-change == 'true' }}
run-sagemaker-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.sagemaker-test-change == 'true' }}
run-efa-test: ${{ needs.check-changes.outputs.build-change == 'true' || needs.check-changes.outputs.efa-test-change == 'true' }}
release: false
secrets: inherit