Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
cd60a87
init commit
Jan 21, 2026
1d28e8f
add config
Jan 21, 2026
4f11403
remove emp change
Jan 21, 2026
9fbf4d3
generate release spec
Jan 21, 2026
e219dfc
Vllm 0.14.0 test (#5592)
junpuf Jan 21, 2026
f798377
Gen release (#5596)
sirutBuasai Jan 21, 2026
57e2e41
update vllm version
Jan 21, 2026
33f8ade
update config to 0.14
Jan 21, 2026
41cf683
update workflow with less job
Jan 21, 2026
8115770
add release job to workflow
Jan 22, 2026
8c33c05
add running python env
Jan 22, 2026
74148b1
temp change dependency to quick check
Jan 22, 2026
7603d31
temp disable test run
Jan 22, 2026
762095e
debug scripts path
Jan 22, 2026
7c33b3c
handle script permission and path
Jan 23, 2026
a3e4dd0
fix customer type
Jan 23, 2026
25e76d6
fix customer type
Jan 23, 2026
1f64c12
split release steps and make workflow reusabel
Jan 26, 2026
58ed4d6
Merge branch 'main' into yadan-v2
Yadan-Wei Jan 26, 2026
65f4798
add permission
Jan 26, 2026
e95f99a
reformat
Jan 26, 2026
c802512
run all images
Jan 27, 2026
6d58790
update run id with image uri
Jan 27, 2026
bac71f6
add a manual workflow to test skip logic
Jan 27, 2026
7aeab80
add manual trigger workflow
Jan 28, 2026
85b5454
fix: Remove path filter from vllm-rayserve-manual-release workflow
Jan 28, 2026
c22985e
temp disable release workflow to use manual
Jan 28, 2026
bd4397f
test skip release
Jan 28, 2026
0c28e07
comment out some steps
Jan 28, 2026
86448e5
change the way to get release status
Jan 28, 2026
32dc8a4
disable PR VLLM workflow
Jan 28, 2026
ef631a0
set sample and clean up
Jan 29, 2026
dd1acb2
Merge branch 'main' into yadan-v2
Yadan-Wei Jan 29, 2026
5e6e148
remove unreleevant change
Jan 29, 2026
5c8fdbf
Merge branch 'main' into yadan-v2
Yadan-Wei Jan 29, 2026
0a5dbc4
change order
Jan 29, 2026
020e898
test release vllm rayserve
Feb 3, 2026
659052c
Enable cron schedule
Feb 3, 2026
6fe6d76
remove unused config
Feb 3, 2026
6aa3c1b
remove unused config
Feb 3, 2026
d5ffa3d
Merge branch 'main' into yadan-v2
Yadan-Wei Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions .github/actions/generate-release-spec/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: 'Generate Release Spec'
description: 'Generate release specification YAML from config file'

inputs:
config-json:
description: 'JSON string containing the configuration'
required: true

outputs:
release-spec:
description: 'Generated release specification YAML'
value: ${{ steps.generate.outputs.spec }}

runs:
using: 'composite'
steps:
- name: Generate release spec
id: generate
shell: bash
run: |
echo '${{ inputs.config-json }}' > config.json
# Extract required values from config
FRAMEWORK=$(jq -r '.common.framework' config.json)
VERSION=$(jq -r '.common.framework_version' config.json)
# Validate required fields
if [ -z "$FRAMEWORK" ] || [ "$FRAMEWORK" == "null" ]; then
echo "Error: framework is required"
exit 1
fi
if [ -z "$VERSION" ] || [ "$VERSION" == "null" ]; then
echo "Error: version is required"
exit 1
fi
# Extract optional values from config
ARCH_TYPE=$(jq -r '.common.arch_type' config.json)
JOB_TYPE=$(jq -r '.common.job_type' config.json)
DEVICE_TYPE=$(jq -r '.common.device_type' config.json)
PYTHON_VERSION=$(jq -r '.common.python_version' config.json)
OS_VERSION=$(jq -r '.common.os_version' config.json)
CUSTOMER_TYPE=$(jq -r '.common.customer_type' config.json)
CUDA_VERSION=$(jq -r '.common.cuda_version' config.json)
# Extract boolean values
FORCE_RELEASE=$(jq -r '.release.force_release' config.json)
PUBLIC_REGISTRY=$(jq -r '.release.public_registry' config.json)
PRIVATE_REGISTRY=$(jq -r '.release.private_registry' config.json)
ENABLE_SOCI=$(jq -r '.release.enable_soci' config.json)
echo "Generating release spec with:"
echo " Framework: ${FRAMEWORK} [required]"
echo " Version: ${VERSION} [required]"
[ "$ARCH_TYPE" != "null" ] && echo " Arch Type: ${ARCH_TYPE}"
[ "$JOB_TYPE" != "null" ] && echo " Job Type: ${JOB_TYPE}"
[ "$DEVICE_TYPE" != "null" ] && echo " Device Type: ${DEVICE_TYPE}"
[ "$CUSTOMER_TYPE" != "null" ] && echo " Customer Type: ${CUSTOMER_TYPE}"
[ "$FORCE_RELEASE" != "null" ] && echo " Force Release: ${FORCE_RELEASE}"
[ "$PUBLIC_REGISTRY" != "null" ] && echo " Public Registry: ${PUBLIC_REGISTRY}"
[ "$PRIVATE_REGISTRY" != "null" ] && echo " Private Registry: ${PRIVATE_REGISTRY}"
[ "$ENABLE_SOCI" != "null" ] && echo " Enable SOCI: ${ENABLE_SOCI}"
# Generate release spec YAML with conditional fields
{
echo "spec<<EOF"
# Required fields
echo "framework: \"${FRAMEWORK}\""
echo "version: \"${VERSION}\""
# Optional string fields - only include if not null
[ "$ARCH_TYPE" != "null" ] && echo "arch_type: \"${ARCH_TYPE}\""
[ "$JOB_TYPE" != "null" ] && echo "job_type: \"${JOB_TYPE}\""
[ "$DEVICE_TYPE" != "null" ] && echo "device_type: \"${DEVICE_TYPE}\""
[ "$PYTHON_VERSION" != "null" ] && echo "python_version: \"${PYTHON_VERSION}\""
[ "$OS_VERSION" != "null" ] && echo "os_version: \"${OS_VERSION}\""
[ "$CUSTOMER_TYPE" != "null" ] && echo "customer_type: \"${CUSTOMER_TYPE}\""
[ "$CUDA_VERSION" != "null" ] && echo "cuda_version: \"${CUDA_VERSION}\""
# Boolean flags - include if not null (handles both true and false)
[ "$FORCE_RELEASE" != "null" ] && echo "force_release: ${FORCE_RELEASE}"
[ "$PUBLIC_REGISTRY" != "null" ] && echo "public_registry: ${PUBLIC_REGISTRY}"
[ "$PRIVATE_REGISTRY" != "null" ] && echo "private_registry: ${PRIVATE_REGISTRY}"
[ "$ENABLE_SOCI" != "null" ] && echo "enable_soci: ${ENABLE_SOCI}"
echo "EOF"
} >> ${GITHUB_OUTPUT}
echo "Release spec generated successfully"
68 changes: 68 additions & 0 deletions .github/actions/setup-release-package/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: 'Setup Release Package'
description: 'Download and install release package from S3'

inputs:
aws-region:
description: 'AWS region for S3'
required: false
default: 'us-west-2'
release-package-s3-bucket:
description: 'S3 bucket containing the release package'
required: false
default: 'dlc-release-logic-v2'
release-package-s3-prefix:
description: 'S3 prefix/folder path to the package'
required: false
default: 'DLContainersReleaseLogicV2/DLContainersReleaseLogicV2'

runs:
using: 'composite'
steps:
- name: Download release package from S3
shell: bash
run: |
echo "Downloading fresh release package from S3..."
PACKAGE_DIR="release_package"
mkdir -p ${PACKAGE_DIR}

aws s3 sync \
s3://${{ inputs.release-package-s3-bucket }}/${{ inputs.release-package-s3-prefix }} \
${PACKAGE_DIR} \
--region ${{ inputs.aws-region }}

if [ ! -d "${PACKAGE_DIR}" ] || [ -z "$(ls -A ${PACKAGE_DIR})" ]; then
echo "Error: Failed to download package from S3"
exit 1
fi

echo "Package downloaded successfully"

- name: Setup virtual environment and install package
shell: bash
run: |
PACKAGE_DIR="release_package"

echo "Creating virtual environment with uv..."
uv venv --python 3.12 .venv

echo "Installing release package..."
uv pip install -e ./${PACKAGE_DIR}

echo "Making scripts executable..."
chmod +x ${PACKAGE_DIR}/scripts/*

echo "Package installed successfully"

- name: Activate environment
shell: bash
run: |
PACKAGE_DIR="release_package"

echo "PACKAGE_DIR=${PACKAGE_DIR}" >> ${GITHUB_ENV}
echo "VIRTUAL_ENV=${PWD}/.venv" >> ${GITHUB_ENV}

# Add both venv/bin and scripts directory to PATH
echo "${PWD}/.venv/bin" >> ${GITHUB_PATH}
echo "${PWD}/${PACKAGE_DIR}/scripts" >> ${GITHUB_PATH}

echo "Environment activated"
30 changes: 30 additions & 0 deletions .github/config/vllm-0.10.2-rayserve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# vLLM RayServe Image Configuration
# This file contains all configuration for building, testing, and releasing the vLLM RayServe image

# Image identification
image:
name: "vllm-rayserve"
description: "vLLM with RayServe for EC2 instances"

# Build configuration
common:
framework: "vllm"
framework_version: "0.10.2"
job_type: "general"
python_version: "py312"
cuda_version: "cu129"
os_version: "ubuntu22.04"
customer_type: "rayserve_ec2"
arch_type: "x86"
prod_image: "vllm:0.10-gpu-py312-rayserve"
device_type: "gpu"

# Release configuration
release:
release: true
force_release: false
public_registry: true
private_registry: false
enable_soci: true
source_stage: beta # private for gamma test
target_stage: release # gamma for gamma test
Loading