Skip to content

Commit 12e1a39

Browse files
authored
Fix doc links, add PR docs tests, and fix uv python version (#5581)
* add index docs Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * init commit for website Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add workflow Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * revert submodule Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix nextsteps Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix workflow Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix deploy Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * give write permission Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update index.md Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update index.md Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove markdownlint conflict Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * swtich logo color Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * change icon Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove unused code Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * use css variables Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * format markdown with plugin Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove tutorials Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * readd tutorials Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add tutorials submodule Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add css and change color Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix workflow Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * reorder links Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix css file Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove submodules Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add tutorials Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix css Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix logo patch Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add readme Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add css comments Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update tutorials readme Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update tutorials readme Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * put tutorials into header 3 Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add gitignore Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add available_images.md generation Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove src and reorder image list Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add table header Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * differentiate hooks Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add logging Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add license Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * refactor hooks Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove clone in workflow Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * remove submodule Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update readme Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update css themese Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update table and standardize format Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * clean up available_iamges.md Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add security section Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add macros Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add security policy Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix headers Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add quick links Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add vllm arm64 Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add public gallery info Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update ecr gallery Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update main and template Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add release notes section Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * change workflow main Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * update branch Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * exclude docs Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * exclude github Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * revert workflows Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix broken links Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix / link Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add docs test Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * add force color Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * rename test action Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * build docs Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * use mkdocs build Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * uv venv Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> * fix uv venv Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com> --------- Signed-off-by: sirutBuasai <sirutbuasai27@outlook.com>
1 parent f77fae3 commit 12e1a39

File tree

12 files changed

+268
-24
lines changed

12 files changed

+268
-24
lines changed

.github/workflows/pr-docs.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: PR - Documentations
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
types: [opened, reopened, synchronize]
7+
paths:
8+
- "**docs**"
9+
10+
permissions:
11+
contents: read
12+
pull-requests: read
13+
14+
env:
15+
# CI environment configuration
16+
FORCE_COLOR: "1"
17+
18+
jobs:
19+
gatekeeper:
20+
runs-on: ubuntu-latest
21+
concurrency:
22+
group: ${{ github.workflow }}-gate-${{ github.event.pull_request.number }}
23+
cancel-in-progress: true
24+
steps:
25+
- name: Checkout base branch (safe)
26+
uses: actions/checkout@v5
27+
with:
28+
ref: ${{ github.event.pull_request.base.sha }}
29+
fetch-depth: 1
30+
31+
- name: Run permission gate (from base)
32+
uses: ./.github/actions/pr-permission-gate
33+
34+
check-changes:
35+
needs: [gatekeeper]
36+
if: success()
37+
runs-on: ubuntu-latest
38+
concurrency:
39+
group: ${{ github.workflow }}-check-changes-${{ github.event.pull_request.number }}
40+
cancel-in-progress: true
41+
outputs:
42+
docs-change: ${{ steps.changes.outputs.docs-change }}
43+
steps:
44+
- name: Checkout DLC source
45+
uses: actions/checkout@v5
46+
47+
- name: Setup python
48+
uses: actions/setup-python@v6
49+
with:
50+
python-version: "3.12"
51+
52+
- name: Run pre-commit
53+
uses: pre-commit/action@v3.0.1
54+
with:
55+
extra_args: --all-files
56+
57+
- name: Detect file changes
58+
id: changes
59+
uses: dorny/paths-filter@v3
60+
with:
61+
filters: |
62+
docs-change:
63+
- "docs/**"
64+
- "test/docs/**"
65+
- ".github/workflows/pr-docs*"
66+
67+
documentation-test:
68+
needs: [check-changes]
69+
if: needs.check-changes.outputs.docs-change == 'true'
70+
runs-on:
71+
- codebuild-runner-${{ github.run_id }}-${{ github.run_attempt }}
72+
fleet:default-runner
73+
buildspec-override:true
74+
concurrency:
75+
group: ${{ github.workflow }}-docs-test-${{ github.event.pull_request.number }}
76+
cancel-in-progress: true
77+
steps:
78+
- name: Checkout DLC source
79+
uses: actions/checkout@v5
80+
81+
- name: Install test dependencies
82+
run: |
83+
uv venv --python 3.12
84+
source .venv/bin/activate
85+
uv pip install -r test/requirements.txt
86+
87+
- name: Build documentations
88+
run: |
89+
source .venv/bin/activate
90+
uv pip install -r docs/requirements.txt
91+
mkdocs build
92+
93+
- name: Run documentation tests
94+
run: |
95+
source .venv/bin/activate
96+
cd test/
97+
python3 -m pytest -vs -rA docs

.github/workflows/pr-sglang.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ jobs:
277277

278278
- name: Install test dependencies
279279
run: |
280-
uv venv
280+
uv venv --python 3.12
281281
source .venv/bin/activate
282282
uv pip install -r test/requirements.txt
283283
uv pip install -r test/sglang/sagemaker/requirements.txt

.github/workflows/pr-vllm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ jobs:
710710

711711
- name: Install test dependencies
712712
run: |
713-
uv venv
713+
uv venv --python 3.12
714714
source .venv/bin/activate
715715
uv pip install -r test/requirements.txt
716716
uv pip install -r test/vllm/sagemaker/requirements.txt

docs/get_started/using_dlcs.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The following sections describe how to use Deep Learning Containers to run sampl
66

77
- For information on using Deep Learning Containers with SageMaker AI, see the [Use Your Own Algorithms or Models with SageMaker AI Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers.html).
88

9-
- To learn about using Deep Learning Containers with SageMaker AI HyperPod on EKS, see [Orchestrating SageMaker HyperPod clusters with Amazon EKS SageMaker AI](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-eks.html).
9+
- To learn about using Deep Learning Containers with SageMaker AI HyperPod on EKS, see [Orchestrating SageMaker HyperPod clusters with Amazon EKS SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html).
1010

1111
## Running on SageMaker
1212

@@ -81,6 +81,7 @@ sagemaker.create_endpoint_config(
8181
"ModelName": "sglang-model",
8282
"InstanceType": "ml.g5.2xlarge",
8383
"InitialInstanceCount": 1,
84+
"InferenceAmiVersion": "al2-ami-sagemaker-inference-gpu-3-1",
8485
}
8586
],
8687
)
@@ -118,6 +119,7 @@ sagemaker.create_endpoint_config(
118119
"ModelName": "vllm-model",
119120
"InstanceType": "ml.g5.2xlarge",
120121
"InitialInstanceCount": 1,
122+
"InferenceAmiVersion": "al2-ami-sagemaker-inference-gpu-3-1",
121123
}
122124
],
123125
)
@@ -145,5 +147,5 @@ docker run -it --gpus all -v /local/data:/data {{ images.latest_pytorch_training
145147

146148
## Quick Links
147149

148-
- [Available Images](reference/available_images.md) - Browse all container images
149-
- [Support Policy](reference/support_policy.md) - Framework versions and timelines
150+
- [Available Images](../reference/available_images.md) - Browse all container images
151+
- [Support Policy](../reference/support_policy.md) - Framework versions and timelines

docs/releasenotes/sglang/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ Release notes for AWS Deep Learning Containers with SGLang for large language mo
44

55
## SGLang 0.5
66

7-
| Platform | Type | Link |
8-
| --------- | ------- | ----------------------------------- |
9-
| SageMaker | General | [SGLang on SageMaker](sagemaker.md) |
7+
| Platform | Type | Link |
8+
| --------- | ------- | --------------------------------------- |
9+
| SageMaker | General | [SGLang on SageMaker](0.5-sagemaker.md) |

docs/security/compliance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Compliance Validation for AWS Deep Learning Containers
22

3-
Third-party auditors assess the security and compliance of services as part of multiple AWS compliance programs. For information on the supported compliance programs, see [Compliance Validation for Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compliance-validation.html), [Compliance Validation for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-compliance.html), [Compliance Validation for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/compliance.html), and [Compliance Validation for Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/SERVICENAME-compliance.html).
3+
Third-party auditors assess the security and compliance of services as part of multiple AWS compliance programs. For information on the supported compliance programs, see [Compliance Validation for Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compliance-validation.html), [Compliance Validation for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-compliance.html), [Compliance Validation for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/compliance.html), and [Compliance Validation for Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-compliance.html).
44

55
For a list of AWS services in scope of specific compliance programs, see [AWS Services in Scope by Compliance Program](https://aws.amazon.com/compliance/services-in-scope/). For general information, see [AWS Compliance Programs](https://aws.amazon.com/compliance/programs/).
66

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Infrastructure Security in AWS Deep Learning Containers
22

3-
The infrastructure security of AWS Deep Learning Containers is backed by Amazon EC2, Amazon ECS, Amazon EKS, or SageMaker AI. For more information, see [Infrastructure Security in Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/infrastructure-security.html), [Infrastructure Security in Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure-security.html), [Infrastructure Security in Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/disaster-recovery-resiliency.html), and [Infrastructure Security in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-security.html).
3+
The infrastructure security of AWS Deep Learning Containers is backed by Amazon EC2, Amazon ECS, Amazon EKS, or SageMaker AI. For more information, see [Infrastructure Security in Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/infrastructure-security.html), [Infrastructure Security in Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure-security.html), [Infrastructure Security in Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/infrastructure-security.html), and [Infrastructure Security in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-security.html).

docs/src/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
If you intend to run the code with mkdocs, see src/hooks.py.
1717
1818
Usage:
19-
python docs/src/main.py [--dry-run] [--verbose] [--support-policy-only] [--available-images-only]
19+
python docs/src/main.py [-h] [--dry-run] [--verbose] [--support-policy-only | --available-images-only | --clone-tutorials]
2020
"""
2121

2222
import argparse
@@ -84,8 +84,8 @@ def main():
8484
action()
8585
break
8686
else:
87-
generate_all(yaml_data, args.dry_run)
8887
clone_git_repository(TUTORIALS_REPO, TUTORIALS_DIR)
88+
generate_all(yaml_data, args.dry_run)
8989

9090
LOGGER.info("Done")
9191

docs/src/tables/huggingface_pytorch_table.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
DISPLAY_NAMES = {
2828
"huggingface-pytorch-training": "HuggingFace PyTorch Training",
2929
"huggingface-pytorch-inference": "HuggingFace PyTorch Inference",
30-
"huggingface-pytorch-inference-neuronx": "HuggingFace PyTorch Inference (Neuronx)",
31-
"huggingface-pytorch-training-neuronx": "HuggingFace PyTorch Training (Neuronx)",
30+
"huggingface-pytorch-inference-neuronx": "HuggingFace PyTorch Inference (NeuronX)",
31+
"huggingface-pytorch-training-neuronx": "HuggingFace PyTorch Training (NeuronX)",
3232
"huggingface-pytorch-trcomp-training": "HuggingFace PyTorch Training Compiler",
3333
}
3434
COLUMNS_STANDARD = [
@@ -74,7 +74,7 @@ def parse_tag(tag: str) -> dict:
7474
result["version"] = match.group(1)
7575
result["transformers"] = match.group(2)
7676
accel = match.group(3)
77-
result["accelerator"] = "Neuron" if accel == "neuronx" else accel.upper()
77+
result["accelerator"] = "NeuronX" if accel == "neuronx" else accel.upper()
7878
result["python"] = match.group(4)
7979
extra = match.group(5) or ""
8080
if extra.startswith("cu"):
@@ -96,7 +96,7 @@ def generate(yaml_data: dict) -> str:
9696
if not tags:
9797
continue
9898

99-
is_neuron = "neuronx" in repo_key
99+
is_neuron = "neuron" in repo_key
100100
columns = COLUMNS_NEURON if is_neuron else COLUMNS_STANDARD
101101

102102
rows = []

docs/src/tables/neuron_table.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,29 @@
2323
"tensorflow-inference-neuronx",
2424
]
2525
DISPLAY_NAMES = {
26-
"pytorch-inference-neuronx": "PyTorch Inference (Neuronx)",
27-
"pytorch-training-neuronx": "PyTorch Training (Neuronx)",
28-
"tensorflow-inference-neuronx": "TensorFlow Inference (Neuronx)",
26+
"pytorch-inference-neuronx": "PyTorch Inference (NeuronX)",
27+
"pytorch-training-neuronx": "PyTorch Training (NeuronX)",
28+
"tensorflow-inference-neuronx": "TensorFlow Inference (NeuronX)",
2929
}
3030
COLUMNS = ["Framework", "Python", "SDK", "Accelerator", "Platform", "Example URL"]
3131

3232

3333
def parse_tag(tag: str) -> dict:
3434
"""Parse Neuron tag format: 2.8.0-neuronx-py311-sdk2.26.1-ubuntu22.04"""
35-
result = {"version": "", "sdk": "", "python": ""}
35+
result = {"version": "", "sdk": "", "python": "", "accelerator": ""}
3636

3737
match = re.match(
3838
r"^(\d+\.\d+\.\d+)-" # framework version
39-
r"neuronx-" # neuronx marker
39+
r"(neuronx)-" # neuronx marker
4040
r"(py\d+)-" # python
4141
r"sdk([\d.]+)-", # sdk version
4242
tag,
4343
)
4444
if match:
4545
result["version"] = match.group(1)
46-
result["python"] = match.group(2)
47-
result["sdk"] = match.group(3)
46+
result["accelerator"] = "NeuronX" if match.group(2) == "neuronx" else "-"
47+
result["python"] = match.group(3)
48+
result["sdk"] = match.group(4)
4849

4950
return result
5051

@@ -75,7 +76,7 @@ def generate(yaml_data: dict) -> str:
7576
f"{framework_name} {parsed['version']}",
7677
parsed["python"],
7778
parsed["sdk"],
78-
"Neuron",
79+
parsed["accelerator"],
7980
"SageMaker",
8081
build_ecr_url(repo_key, tag),
8182
]

0 commit comments

Comments
 (0)