[AMD] Build Miles nightly ROCm images with docker/build.py and test ROCm 7.2 (#31757)

This commit is contained in:
Xinyu Jiang
2026-07-23 08:30:09 +08:00
committed by GitHub
parent 24da0e51b6
commit 8ce68370b5
3 changed files with 39 additions and 51 deletions
@@ -1,4 +1,4 @@
name: Nightly Test Miles (AMD ROCm 7.0) name: Nightly Test Miles (AMD ROCm 7.2)
on: on:
schedule: schedule:
@@ -7,7 +7,7 @@ on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
image_tag: image_tag:
description: "Override miles image tag (e.g. miles-rocm700-mi35x-20260621); empty = newest by date" description: "Override miles image tag (e.g. miles-rocm720-mi35x-20260621); empty = newest by date"
required: false required: false
type: string type: string
default: "" default: ""
@@ -46,10 +46,10 @@ jobs:
username: ${{ secrets.DOCKERHUB_AMD_USERNAME }} username: ${{ secrets.DOCKERHUB_AMD_USERNAME }}
password: ${{ secrets.DOCKERHUB_AMD_TOKEN }} password: ${{ secrets.DOCKERHUB_AMD_TOKEN }}
- name: Resolve newest miles ROCm 7.0 image - name: Resolve newest miles ROCm 7.2 image
run: | run: |
repo="rocm/sgl-dev" repo="rocm/sgl-dev"
base="miles-rocm700-mi35x" base="miles-rocm720-mi35x"
tag="${{ inputs.image_tag }}" tag="${{ inputs.image_tag }}"
if [ -z "${tag}" ]; then if [ -z "${tag}" ]; then
# Walk back from today; the build job pushes a dated tag at 12:00 UTC. # Walk back from today; the build job pushes a dated tag at 12:00 UTC.
@@ -14,17 +14,14 @@ jobs:
if: github.repository == 'sgl-project/sglang' if: github.repository == 'sgl-project/sglang'
runs-on: amd-docker-scale runs-on: amd-docker-scale
environment: "prod" environment: "prod"
permissions:
contents: read
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: variant:
- gpu_arch: gfx950 - rocm700-mi35x
rocm_tag: rocm700-mi35x - rocm700-mi30x
sglang_image_repo: rocm/sgl-dev
sglang_image_tag: v0.5.14-rocm700-mi35x-20260627
- gpu_arch: gfx942
rocm_tag: rocm700-mi30x
sglang_image_tag: v0.5.10-rocm700-mi30x
steps: steps:
- name: Checkout miles repository - name: Checkout miles repository
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -32,13 +29,21 @@ jobs:
repository: radixark/miles repository: radixark/miles
ref: main ref: main
fetch-depth: 0 fetch-depth: 0
persist-credentials: false
- name: Record miles commit
run: echo "Building from miles main @ $(git rev-parse HEAD)"
- name: Set date - name: Set date
run: echo "DATE=$(date +%Y%m%d)" >> $GITHUB_ENV run: echo "DATE=$(date +%Y%m%d)" >> $GITHUB_ENV
- name: Record miles commit - name: Install docker/build.py dependencies
id: miles run: python3 -m pip install --quiet typer
run: echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Build image via miles docker/build.py and tag with date
run: |
python3 docker/build.py --variant ${{ matrix.variant }} --image-tag custom --custom-tag miles
docker tag rocm/sgl-dev:miles-${{ matrix.variant }} rocm/sgl-dev:miles-${{ matrix.variant }}-${DATE}
- name: Login to Docker Hub (AMD) - name: Login to Docker Hub (AMD)
uses: docker/login-action@v2 uses: docker/login-action@v2
@@ -46,18 +51,5 @@ jobs:
username: ${{ secrets.DOCKERHUB_AMD_USERNAME }} username: ${{ secrets.DOCKERHUB_AMD_USERNAME }}
password: ${{ secrets.DOCKERHUB_AMD_TOKEN }} password: ${{ secrets.DOCKERHUB_AMD_TOKEN }}
- name: Build and push miles image to rocm/sgl-dev - name: Push dated tag
run: | run: docker push rocm/sgl-dev:miles-${{ matrix.variant }}-${DATE}
base="miles-${{ matrix.rocm_tag }}"
dated="${base}-${{ env.DATE }}"
echo "IMAGE_TAG=${dated}" >> $GITHUB_ENV
echo "Building rocm/sgl-dev:${dated} from miles main @ ${{ steps.miles.outputs.sha }}"
docker build . \
-f docker/Dockerfile.rocm \
--build-arg GPU_ARCH=${{ matrix.gpu_arch }} \
--build-arg SGLANG_IMAGE_REPO=${{ matrix.sglang_image_repo || 'lmsysorg/sglang' }} \
--build-arg SGLANG_IMAGE_TAG=${{ matrix.sglang_image_tag }} \
--build-arg MILES_COMMIT=${{ steps.miles.outputs.sha }} \
-t rocm/sgl-dev:${dated} \
--no-cache
docker push rocm/sgl-dev:${dated}
@@ -14,13 +14,13 @@ jobs:
if: github.repository == 'sgl-project/sglang' if: github.repository == 'sgl-project/sglang'
runs-on: amd-docker-scale runs-on: amd-docker-scale
environment: "prod" environment: "prod"
permissions:
contents: read
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: variant:
- gpu_arch: gfx950 - rocm720-mi35x
rocm_tag: rocm720-mi35x
sglang_image_tag: v0.5.10-rocm720-mi35x
steps: steps:
- name: Checkout miles repository - name: Checkout miles repository
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -28,13 +28,21 @@ jobs:
repository: radixark/miles repository: radixark/miles
ref: main ref: main
fetch-depth: 0 fetch-depth: 0
persist-credentials: false
- name: Record miles commit
run: echo "Building from miles main @ $(git rev-parse HEAD)"
- name: Set date - name: Set date
run: echo "DATE=$(date +%Y%m%d)" >> $GITHUB_ENV run: echo "DATE=$(date +%Y%m%d)" >> $GITHUB_ENV
- name: Record miles commit - name: Install docker/build.py dependencies
id: miles run: python3 -m pip install --quiet typer
run: echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Build image via miles docker/build.py and tag with date
run: |
python3 docker/build.py --variant ${{ matrix.variant }} --image-tag custom --custom-tag miles
docker tag rocm/sgl-dev:miles-${{ matrix.variant }} rocm/sgl-dev:miles-${{ matrix.variant }}-${DATE}
- name: Login to Docker Hub (AMD) - name: Login to Docker Hub (AMD)
uses: docker/login-action@v2 uses: docker/login-action@v2
@@ -42,17 +50,5 @@ jobs:
username: ${{ secrets.DOCKERHUB_AMD_USERNAME }} username: ${{ secrets.DOCKERHUB_AMD_USERNAME }}
password: ${{ secrets.DOCKERHUB_AMD_TOKEN }} password: ${{ secrets.DOCKERHUB_AMD_TOKEN }}
- name: Build and push miles image to rocm/sgl-dev - name: Push dated tag
run: | run: docker push rocm/sgl-dev:miles-${{ matrix.variant }}-${DATE}
base="miles-${{ matrix.rocm_tag }}"
dated="${base}-${{ env.DATE }}"
echo "IMAGE_TAG=${dated}" >> $GITHUB_ENV
echo "Building rocm/sgl-dev:${dated} from miles main @ ${{ steps.miles.outputs.sha }}"
docker build . \
-f docker/Dockerfile.rocm \
--build-arg GPU_ARCH=${{ matrix.gpu_arch }} \
--build-arg SGLANG_IMAGE_TAG=${{ matrix.sglang_image_tag }} \
--build-arg MILES_COMMIT=${{ steps.miles.outputs.sha }} \
-t rocm/sgl-dev:${dated} \
--no-cache
docker push rocm/sgl-dev:${dated}