Skip to content

Commit c27447e

Browse files
authored
Merge branch 'main' into vllm-0.15.1-update
2 parents 16ee5b5 + 23eb26e commit c27447e

File tree

6 files changed

+88
-23
lines changed

6 files changed

+88
-23
lines changed

.github/config/vllm-0.10.2-rayserve.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ common:
1212
framework_version: "0.10.2"
1313
job_type: "general"
1414
python_version: "py312"
15-
cuda_version: "cu129"
15+
cuda_version: "cu128"
1616
os_version: "ubuntu22.04"
1717
customer_type: "rayserve_ec2"
1818
arch_type: "x86"
@@ -26,5 +26,4 @@ release:
2626
public_registry: true
2727
private_registry: false
2828
enable_soci: true
29-
source_stage: beta # private for gamma test
30-
target_stage: release # gamma for gamma test
29+
environment: production # gamma or production

.github/workflows/reusable-release-image.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@ on:
1414
description: 'Release specification YAML content'
1515
required: true
1616
type: string
17-
source-stage:
18-
description: 'Source stage (e.g., private, beta)'
19-
required: true
20-
type: string
21-
target-stage:
22-
description: 'Target stage (e.g., gamma, release)'
17+
environment:
18+
description: 'Deployment environment (gamma or production)'
2319
required: true
2420
type: string
2521
aws-region:
@@ -38,7 +34,27 @@ on:
3834
value: ${{ jobs.step1-publish-images.outputs.run-identifier }}
3935

4036
jobs:
37+
validate-release:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Validate release context
41+
run: |
42+
ENVIRONMENT="${{ inputs.environment }}"
43+
44+
# Validate environment input
45+
if [[ "${ENVIRONMENT}" != "gamma" && "${ENVIRONMENT}" != "production" ]]; then
46+
echo "❌ ERROR: Invalid environment '${ENVIRONMENT}'"
47+
echo "Valid environments: gamma, production"
48+
exit 1
49+
fi
50+
51+
echo "✅ Release context validation passed"
52+
echo "Ref: ${{ github.ref }}"
53+
echo "Environment: ${ENVIRONMENT}"
54+
4155
step1-publish-images:
56+
needs: [validate-release]
57+
environment: ${{ inputs.environment }}
4258
runs-on:
4359
- codebuild-runner-${{ github.run_id }}-${{ github.run_attempt }}
4460
fleet:${{ inputs.runner-fleet }}
@@ -107,13 +123,16 @@ jobs:
107123
echo "RUN_IDENTIFIER=${RUN_IDENTIFIER}" >> ${GITHUB_ENV}
108124
echo "METADATA_FILE=${METADATA_FILE}" >> ${GITHUB_ENV}
109125
echo "REGION=${{ inputs.aws-region }}" >> ${GITHUB_ENV}
110-
echo "SOURCE_STAGE=${{ inputs.source-stage }}" >> ${GITHUB_ENV}
111-
echo "TARGET_STAGE=${{ inputs.target-stage }}" >> ${GITHUB_ENV}
126+
echo "SOURCE_STAGE=${{ vars.SOURCE_STAGE }}" >> ${GITHUB_ENV}
127+
echo "TARGET_STAGE=${{ vars.TARGET_STAGE }}" >> ${GITHUB_ENV}
112128
113129
echo "run-identifier=${RUN_IDENTIFIER}" >> ${GITHUB_OUTPUT}
114130
echo "metadata-file-name=release_metadata_${RUN_IDENTIFIER}.dict" >> ${GITHUB_OUTPUT}
115131
116132
echo "Generated run identifier: ${RUN_IDENTIFIER}"
133+
echo "Environment: ${{ inputs.environment }}"
134+
echo "Source stage: ${{ vars.SOURCE_STAGE }}"
135+
echo "Target stage: ${{ vars.TARGET_STAGE }}"
117136
118137
- name: Publish DLC Images
119138
id: publish
@@ -161,6 +180,7 @@ jobs:
161180

162181
step2-generate-info:
163182
needs: [step1-publish-images]
183+
environment: ${{ inputs.environment }}
164184
if: needs.step1-publish-images.outputs.images-published == '1'
165185
runs-on:
166186
- codebuild-runner-${{ github.run_id }}-${{ github.run_attempt }}
@@ -189,8 +209,8 @@ jobs:
189209
echo "RUN_IDENTIFIER=${RUN_IDENTIFIER}" >> ${GITHUB_ENV}
190210
echo "METADATA_FILE=${METADATA_FILE}" >> ${GITHUB_ENV}
191211
echo "REGION=${{ inputs.aws-region }}" >> ${GITHUB_ENV}
192-
echo "SOURCE_STAGE=${{ inputs.source-stage }}" >> ${GITHUB_ENV}
193-
echo "TARGET_STAGE=${{ inputs.target-stage }}" >> ${GITHUB_ENV}
212+
echo "SOURCE_STAGE=${{ vars.SOURCE_STAGE }}" >> ${GITHUB_ENV}
213+
echo "TARGET_STAGE=${{ vars.TARGET_STAGE }}" >> ${GITHUB_ENV}
194214
195215
- name: Generate Release Information
196216
run: |
@@ -214,6 +234,7 @@ jobs:
214234
215235
step3-publish-notifications:
216236
needs: [step1-publish-images, step2-generate-info]
237+
environment: ${{ inputs.environment }}
217238
if: needs.step1-publish-images.outputs.images-published == '1'
218239
runs-on:
219240
- codebuild-runner-${{ github.run_id }}-${{ github.run_attempt }}
@@ -233,8 +254,8 @@ jobs:
233254
RUN_IDENTIFIER="${{ needs.step1-publish-images.outputs.run-identifier }}"
234255
echo "RUN_IDENTIFIER=${RUN_IDENTIFIER}" >> ${GITHUB_ENV}
235256
echo "REGION=${{ inputs.aws-region }}" >> ${GITHUB_ENV}
236-
echo "SOURCE_STAGE=${{ inputs.source-stage }}" >> ${GITHUB_ENV}
237-
echo "TARGET_STAGE=${{ inputs.target-stage }}" >> ${GITHUB_ENV}
257+
echo "SOURCE_STAGE=${{ vars.SOURCE_STAGE }}" >> ${GITHUB_ENV}
258+
echo "TARGET_STAGE=${{ vars.TARGET_STAGE }}" >> ${GITHUB_ENV}
238259
239260
- name: Publish Release Information
240261
run: |
@@ -248,4 +269,4 @@ jobs:
248269
echo ""
249270
echo "=========================================="
250271
echo "🎉 All release steps completed successfully!"
251-
echo "=========================================="
272+
echo "=========================================="

.github/workflows/vllm-rayserver-auto-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: vLLM_RAYSERVE_AUTO_RELEASE
22

33
on:
4-
4+
# schedule run must be on the default branch
5+
# https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule
56
schedule:
67
# Runs at 10:00 AM PST/PDT on Monday and Wednesday
78
# Note: GitHub Actions uses UTC time. PST is UTC-8, PDT is UTC-7
@@ -318,8 +319,7 @@ jobs:
318319
with:
319320
source-image-uri: ${{ needs.build-vllm-rayserve-image.outputs.ci-image }}
320321
release-spec: ${{ needs.generate-rayserve-release-spec.outputs.release-spec }}
321-
source-stage: ${{ fromJson(needs.load-config.outputs.rayserve-config).release.source_stage }}
322-
target-stage: ${{ fromJson(needs.load-config.outputs.rayserve-config).release.target_stage }}
322+
environment: ${{ fromJson(needs.load-config.outputs.rayserve-config).release.environment }}
323323
aws-region: ${{ vars.AWS_REGION }}
324324
runner-fleet: default-runner
325325

docs/DEVELOPMENT.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,46 @@ cd docs && mkdocs serve
239239

240240
______________________________________________________________________
241241

242+
## Local Documentation Development
243+
244+
### Generation Only (No Server)
245+
246+
Run `main.py` to generate documentation without serving:
247+
248+
```bash
249+
cd docs/src && python main.py --verbose
250+
```
251+
252+
This automatically clones `tutorials/` repository and generates markdown files in `reference/` and `releasenotes/` directories without starting a web server.
253+
254+
### Serving Locally
255+
256+
Use `mkdocs serve` to automatically clone `tutorials/` and generate documentation in `reference/` and `releasenotes/` and serve the website:
257+
258+
```bash
259+
cd docs && mkdocs serve
260+
```
261+
262+
The site is typically available at `http://127.0.0.1:8000/deep-learning-containers/` - check the command output for the actual URL.
263+
264+
### Live Reload
265+
266+
Enable automatic reload on content changes:
267+
268+
```bash
269+
mkdocs serve --livereload
270+
```
271+
272+
**Note:** Live reload only detects changes to:
273+
274+
- Markdown file content
275+
- `.nav.yml` content
276+
- `mkdocs.yml` content
277+
278+
Live reload does **not** detect changes requiring documentation regeneration (e.g., image config YAML files, templates). To regenerate documentation, stop the server (`Ctrl+C`) and rerun `mkdocs serve`.
279+
280+
______________________________________________________________________
281+
242282
## Troubleshooting
243283

244284
| Error | Solution |

docs/src/data/template/image-template.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# =============================================================================
77

88
# -----------------------------------------------------------------------------
9-
# Required Fields
9+
# Common Fields
1010
# -----------------------------------------------------------------------------
1111

1212
# Framework display name (e.g., "PyTorch", "TensorFlow")
@@ -18,9 +18,6 @@ version: "2.9"
1818
# Accelerator type: gpu, cpu, or neuronx
1919
accelerator: gpu
2020

21-
# Python version identifier (e.g., py310, py311, py312)
22-
python: py312
23-
2421
# Target platform: ec2 or sagemaker
2522
platform: ec2
2623

@@ -37,6 +34,9 @@ tags:
3734
# For example, if you require a column called "foo",
3835
# add foo field here and in your desired table YAML file.
3936

37+
# Python version identifier (e.g., py310, py311, py312)
38+
python: py312
39+
4040
# CUDA version identifier (for GPU images)
4141
cuda: cu130
4242

docs/src/utils.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ def parse_version(version_str: str | None) -> Version:
8585
def clone_git_repository(git_repository: str, target_dir: str | Path) -> None:
8686
"""Clone a git repository to target directory if it doesn't exist."""
8787
if os.path.exists(target_dir):
88+
LOGGER.info(
89+
f"{git_repository} already exists within {target_dir}"
90+
"If you want to pull the latest commit of the repository, either delete the repository and re-run generation"
91+
f"or manually run `git pull` within the {target_dir}"
92+
)
8893
return
8994
subprocess.run(["git", "clone", "--depth", "1", git_repository, target_dir], check=True)
9095

0 commit comments

Comments
 (0)