From 8b4c387aa295145dfa520e26d2ae920bd32e18e6 Mon Sep 17 00:00:00 2001 From: YC Tseng Date: Tue, 3 Mar 2026 05:14:31 +0300 Subject: [PATCH] [AMD] Update AITER Scout Workflow (#19735) Co-authored-by: bingxche --- ...test-full-test.yml => amd-aiter-scout.yml} | 8 +- .../nightly-test-amd-aiter-latest.yml | 1354 ----------------- .../workflows/nightly-test-amd-rocm720.yml | 7 +- .github/workflows/nightly-test-amd.yml | 7 +- .github/workflows/pr-test-amd-rocm720.yml | 8 +- .github/workflows/pr-test-amd.yml | 8 +- 6 files changed, 25 insertions(+), 1367 deletions(-) rename .github/workflows/{scheduled-aiter-latest-full-test.yml => amd-aiter-scout.yml} (97%) delete mode 100644 .github/workflows/nightly-test-amd-aiter-latest.yml diff --git a/.github/workflows/scheduled-aiter-latest-full-test.yml b/.github/workflows/amd-aiter-scout.yml similarity index 97% rename from .github/workflows/scheduled-aiter-latest-full-test.yml rename to .github/workflows/amd-aiter-scout.yml index f42ec1b08..427116831 100644 --- a/.github/workflows/scheduled-aiter-latest-full-test.yml +++ b/.github/workflows/amd-aiter-scout.yml @@ -1,4 +1,4 @@ -name: Scheduled Full AMD Test (AITER Latest) +name: AMD AITER Scout on: schedule: @@ -23,7 +23,7 @@ on: default: true concurrency: - group: scheduled-aiter-latest-full-test-${{ github.run_id }} + group: amd-aiter-scout-${{ github.run_id }} cancel-in-progress: true jobs: @@ -88,6 +88,7 @@ jobs: uses: ./.github/workflows/nightly-test-amd.yml secrets: inherit with: + ref: ${{ github.sha }} aiter_ref: ${{ needs.resolve-aiter.outputs.aiter_sha }} job_filter: 'all' continue_on_error: ${{ inputs.continue_on_error == '' && true || inputs.continue_on_error }} @@ -98,6 +99,7 @@ jobs: uses: ./.github/workflows/nightly-test-amd-rocm720.yml secrets: inherit with: + ref: ${{ github.sha }} aiter_ref: ${{ needs.resolve-aiter.outputs.aiter_sha }} job_filter: 'all' continue_on_error: ${{ inputs.continue_on_error == '' && true || inputs.continue_on_error }} @@ -134,7 +136,7 @@ jobs: steps: - name: Summary run: | - echo "## Scheduled Full AMD Test (AITER Latest) Results" >> $GITHUB_STEP_SUMMARY + echo "## AMD AITER Scout Results" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "- **AITER SHA:** \`${{ needs.resolve-aiter.outputs.aiter_sha }}\`" >> $GITHUB_STEP_SUMMARY echo "- **AITER commit:** https://github.com/ROCm/aiter/commit/${{ needs.resolve-aiter.outputs.aiter_sha }}" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/nightly-test-amd-aiter-latest.yml b/.github/workflows/nightly-test-amd-aiter-latest.yml deleted file mode 100644 index 0a985e4a8..000000000 --- a/.github/workflows/nightly-test-amd-aiter-latest.yml +++ /dev/null @@ -1,1354 +0,0 @@ -name: Test AITER Latest (AMD Nightly) - -on: - workflow_dispatch: - inputs: - aiter_ref: - description: 'AITER git ref to test (branch, tag, or SHA). Default: main (latest commit)' - required: false - type: string - default: 'main' - job_filter: - description: 'Select which job to run (leave empty or "all" to run all jobs)' - required: false - type: choice - default: 'all' - options: - - 'all' - # MI30x Unit Tests - - 'nightly-test-1-gpu-unit' - # MI30x Accuracy Tests (GSM8K / MMMU) - - 'nightly-accuracy-2-gpu' - - 'nightly-accuracy-2-gpu-vlm' - - 'nightly-perf-2-gpu-text' - - 'nightly-perf-2-gpu-vlm' - - 'nightly-accuracy-8-gpu' - # MI30x Accuracy + Performance Tests (combined) - - 'nightly-8-gpu-grok1-int4' - - 'nightly-8-gpu-grok2' - - 'nightly-8-gpu-deepseek-v31' - - 'nightly-8-gpu-deepseek-v32' - - 'nightly-8-gpu-deepseek-v32-mtp' - - 'nightly-8-gpu-kimi-k25' - - 'nightly-8-gpu-qwen3-235b' - - 'nightly-8-gpu-glm5' - # MI35x jobs - - 'nightly-test-1-gpu-mi35x' - - 'nightly-8-gpu-mi35x-qwen3-235b-mxfp4' - - 'nightly-8-gpu-mi35x-kimi-k25' - - 'nightly-8-gpu-mi35x-glm5' - - 'nightly-accuracy-8-gpu-mi35x' - - 'nightly-8-gpu-mi35x-grok1-int4' - - 'nightly-8-gpu-mi35x-grok2' - - 'nightly-8-gpu-mi35x-deepseek-r1-mxfp4' - - 'nightly-accuracy-8-gpu-mi35x-deepseek-v32' - - 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp' - - 'nightly-perf-8-gpu-mi35x-deepseek-v32-basic' - - 'nightly-perf-8-gpu-mi35x-deepseek-v32-mtp' - -concurrency: - group: nightly-test-amd-aiter-latest-${{ github.run_id }} - cancel-in-progress: true - -jobs: - # ============================================== Resolve AITER Ref ============================================== - resolve-aiter: - runs-on: ubuntu-latest - outputs: - aiter_sha: ${{ steps.resolve.outputs.sha }} - aiter_short_sha: ${{ steps.resolve.outputs.short_sha }} - aiter_ref: ${{ steps.resolve.outputs.ref }} - steps: - - name: Resolve AITER commit - id: resolve - run: | - REF="${{ inputs.aiter_ref || 'main' }}" - echo "Resolving AITER ref: ${REF}" - - SHA=$(git ls-remote https://github.com/ROCm/aiter.git "${REF}" | head -1 | cut -f1) - if [ -z "$SHA" ]; then - SHA=$(git ls-remote https://github.com/ROCm/aiter.git "refs/heads/${REF}" | head -1 | cut -f1) - fi - if [ -z "$SHA" ]; then - SHA=$(git ls-remote https://github.com/ROCm/aiter.git "refs/tags/${REF}" | head -1 | cut -f1) - fi - if [ -z "$SHA" ]; then - SHA="${REF}" - fi - - SHORT_SHA="${SHA:0:12}" - echo "sha=${SHA}" >> $GITHUB_OUTPUT - echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - echo "ref=${REF}" >> $GITHUB_OUTPUT - - echo "### AITER Ref Resolution" >> $GITHUB_STEP_SUMMARY - echo "- **Requested ref:** \`${REF}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Resolved SHA:** \`${SHA}\`" >> $GITHUB_STEP_SUMMARY - echo "- **AITER repo:** https://github.com/ROCm/aiter/commit/${SHA}" >> $GITHUB_STEP_SUMMARY - - # ============================================== MI30x Unit Tests ============================================== - nightly-test-1-gpu-unit: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-1-gpu-unit' - runs-on: linux-mi325-gpu-1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - echo "Overriding AITER_COMMIT to: ${AITER_SHA}" - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang pip show amd-aiter 2>/dev/null >> $GITHUB_STEP_SUMMARY || echo "amd-aiter not installed" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --format='%H %s'" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Nightly Unit Test (1-GPU) - timeout-minutes: 90 - run: | - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-1-gpu --nightly --timeout-per-file 900 --continue-on-error || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - # ============================================== MI30x Accuracy Tests ============================================== - nightly-accuracy-2-gpu: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-2-gpu' - runs-on: linux-mi325-gpu-2 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Nightly Test (2-GPU) - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-accuracy-2-gpu-vlm: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-2-gpu-vlm' - runs-on: linux-mi325-gpu-2 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Nightly Accuracy Test (2-GPU VLM MMMU) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-2-gpu-vlm --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-perf-2-gpu-text: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-2-gpu-text' - runs-on: linux-mi325-gpu-2 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Performance Test (2-GPU Text Models) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e SGLANG_USE_AITER=1 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-perf-text-2-gpu --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-perf-2-gpu-vlm: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-2-gpu-vlm' - runs-on: linux-mi325-gpu-2 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Performance Test (2-GPU VLM Models) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e SGLANG_USE_AITER=1 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-perf-vlm-2-gpu --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-accuracy-8-gpu: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU GPT-OSS) - timeout-minutes: 180 - run: | - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-gpt-oss --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Accuracy Test (8-GPU Grok1-FP8) - timeout-minutes: 60 - run: | - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok1-fp8 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - # ============================================== MI30x Combined Accuracy + Performance Tests ============================================== - nightly-8-gpu-grok1-int4: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-grok1-int4' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU Grok1-INT4) - timeout-minutes: 60 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test (8-GPU Grok1-INT4) - timeout-minutes: 60 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-grok2: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-grok2' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU Grok2) - timeout-minutes: 60 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test (8-GPU Grok2) - timeout-minutes: 60 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-deepseek-v31: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v31' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU DeepSeek-V3.1) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e SGLANG_USE_AITER=1 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-deepseek-v31 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test (8-GPU DeepSeek-V3.1) - timeout-minutes: 300 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e SGLANG_USE_ROCM700A=1 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-deepseek-v31 --nightly --timeout-per-file 18000 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-deepseek-v32: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v32' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU DeepSeek-V3.2 Basic) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-deepseek-v32 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test (8-GPU DeepSeek-V3.2 Basic) - timeout-minutes: 150 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-deepseek-v32-basic --nightly --timeout-per-file 5400 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-deepseek-v32-mtp: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v32-mtp' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU DeepSeek-V3.2 MTP) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-deepseek-v32-mtp --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test (8-GPU DeepSeek-V3.2 MTP) - timeout-minutes: 180 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-deepseek-v32-mtp --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-kimi-k25: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-kimi-k25' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU Kimi-K2.5) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-kimi-k25 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-qwen3-235b: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-qwen3-235b' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd/amd_ci_install_dependency.sh - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test + Performance Test (8-GPU Qwen3) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-8-gpu-qwen3-235b --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-glm5: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-glm5' - runs-on: linux-mi325-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install git+https://github.com/huggingface/transformers.git - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test (8-GPU GLM-5 NSA) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-glm5 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - # ============================================== MI35x Tests ============================================== - nightly-test-1-gpu-mi35x: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-1-gpu-mi35x' - runs-on: linux-mi35x-gpu-1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Nightly Test MI35x (1-GPU) - timeout-minutes: 90 - run: | - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-1-gpu-mi35x --nightly --timeout-per-file 900 --continue-on-error || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-accuracy-8-gpu-mi35x: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU GPT-OSS) - timeout-minutes: 180 - run: | - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-grok1-int4: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-grok1-int4' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU Grok1-INT4) - timeout-minutes: 90 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-grok1-int4 --nightly --timeout-per-file 5400 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test MI35x (8-GPU Grok1-INT4) - timeout-minutes: 60 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-grok2: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-grok2' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU Grok2) - timeout-minutes: 60 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test MI35x (8-GPU Grok2) - timeout-minutes: 60 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e RCCL_MSCCL_ENABLE=0 \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-deepseek-r1-mxfp4: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-deepseek-r1-mxfp4' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU DeepSeek-R1-MXFP4) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-r1-mxfp4 --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - - name: Performance Test MI35x (8-GPU DeepSeek-R1-MXFP4) - timeout-minutes: 300 - continue-on-error: true - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 registered/amd/perf/mi35x/test_deepseek_r1_mxfp4_perf_mi35x.py || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-accuracy-8-gpu-mi35x-deepseek-v32: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x-deepseek-v32' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU DeepSeek-V3.2) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-v32 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU DeepSeek-V3.2 TP+MTP) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-deepseek-v32-mtp --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-perf-8-gpu-mi35x-deepseek-v32-basic: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-8-gpu-mi35x-deepseek-v32-basic' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Performance Test MI35x (8-GPU DeepSeek-V3.2 Basic) - timeout-minutes: 150 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-deepseek-v32-basic --nightly --timeout-per-file 5400 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-kimi-k25: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-kimi-k25' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU Kimi-K2.5) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-kimi-k25 --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-qwen3-235b-mxfp4: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-qwen3-235b-mxfp4' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test + Performance Test MI35x (8-GPU Qwen3-235B-MXFP4) - timeout-minutes: 120 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-8-gpu-mi35x-qwen3-235b-mxfp4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-8-gpu-mi35x-glm5: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-glm5' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - bash scripts/ci/amd/amd_ci_exec.sh pip install git+https://github.com/huggingface/transformers.git - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Accuracy Test MI35x (8-GPU GLM-5 NSA) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-glm5 --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - nightly-perf-8-gpu-mi35x-deepseek-v32-mtp: - needs: resolve-aiter - if: inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-8-gpu-mi35x-deepseek-v32-mtp' - runs-on: linux-mi35x-gpu-8 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Override AITER commit in Dockerfile - run: | - AITER_SHA="${{ needs.resolve-aiter.outputs.aiter_sha }}" - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm.Dockerfile - sed -i "s/AITER_COMMIT=\"[^\"]*\"/AITER_COMMIT=\"${AITER_SHA}\"/g" docker/rocm720.Dockerfile - - - name: Setup docker - run: | - touch github_summary.md - bash scripts/ci/amd/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: | - bash scripts/ci/amd/amd_ci_install_dependency.sh - bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - - - name: Verify AITER version - run: | - echo "### AITER Version Info" >> $GITHUB_STEP_SUMMARY - echo "- **Target:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\` (\`${{ needs.resolve-aiter.outputs.aiter_short_sha }}\`)" >> $GITHUB_STEP_SUMMARY - docker exec ci_sglang bash -c "cd /sgl-workspace/aiter 2>/dev/null && git log -1 --oneline" >> $GITHUB_STEP_SUMMARY 2>/dev/null || true - - - name: Performance Test MI35x (8-GPU DeepSeek-V3.2 MTP) - timeout-minutes: 180 - run: | - > github_summary.md - bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ - -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ - python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-deepseek-v32-mtp --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? - echo "$(> $GITHUB_STEP_SUMMARY || true - exit ${TEST_EXIT_CODE:-0} - - # ============================================== Summary ============================================== - check-all-jobs: - if: always() - needs: - - resolve-aiter - # MI30x Unit Tests - - nightly-test-1-gpu-unit - # MI30x Accuracy Tests - - nightly-accuracy-2-gpu - - nightly-accuracy-2-gpu-vlm - - nightly-accuracy-8-gpu - # MI30x Combined Accuracy + Performance Tests - - nightly-8-gpu-grok1-int4 - - nightly-8-gpu-grok2 - - nightly-8-gpu-deepseek-v31 - - nightly-8-gpu-deepseek-v32 - - nightly-8-gpu-deepseek-v32-mtp - - nightly-8-gpu-kimi-k25 - - nightly-8-gpu-qwen3-235b - - nightly-8-gpu-glm5 - # MI35x jobs - - nightly-test-1-gpu-mi35x - - nightly-accuracy-8-gpu-mi35x - - nightly-8-gpu-mi35x-grok1-int4 - - nightly-8-gpu-mi35x-grok2 - - nightly-8-gpu-mi35x-deepseek-r1-mxfp4 - - nightly-accuracy-8-gpu-mi35x-deepseek-v32 - - nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp - - nightly-8-gpu-mi35x-kimi-k25 - - nightly-8-gpu-mi35x-qwen3-235b-mxfp4 - - nightly-8-gpu-mi35x-glm5 - runs-on: ubuntu-latest - steps: - - name: Summary - run: | - echo "## AITER Latest Test Results" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "- **AITER ref:** \`${{ needs.resolve-aiter.outputs.aiter_ref }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **AITER SHA:** \`${{ needs.resolve-aiter.outputs.aiter_sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **AITER commit:** https://github.com/ROCm/aiter/commit/${{ needs.resolve-aiter.outputs.aiter_sha }}" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### MI30x Results" >> $GITHUB_STEP_SUMMARY - echo "| Job | Result |" >> $GITHUB_STEP_SUMMARY - echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY - echo "| nightly-test-1-gpu-unit | \`${{ needs.nightly-test-1-gpu-unit.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-2-gpu | \`${{ needs.nightly-accuracy-2-gpu.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-2-gpu-vlm | \`${{ needs.nightly-accuracy-2-gpu-vlm.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-perf-2-gpu-text | \`${{ needs.nightly-perf-2-gpu-text.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-perf-2-gpu-vlm | \`${{ needs.nightly-perf-2-gpu-vlm.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-8-gpu | \`${{ needs.nightly-accuracy-8-gpu.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-grok1-int4 | \`${{ needs.nightly-8-gpu-grok1-int4.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-grok2 | \`${{ needs.nightly-8-gpu-grok2.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-deepseek-v31 | \`${{ needs.nightly-8-gpu-deepseek-v31.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-deepseek-v32 | \`${{ needs.nightly-8-gpu-deepseek-v32.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-deepseek-v32-mtp | \`${{ needs.nightly-8-gpu-deepseek-v32-mtp.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-kimi-k25 | \`${{ needs.nightly-8-gpu-kimi-k25.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-qwen3-235b | \`${{ needs.nightly-8-gpu-qwen3-235b.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-glm5 | \`${{ needs.nightly-8-gpu-glm5.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### MI35x Results" >> $GITHUB_STEP_SUMMARY - echo "| Job | Result |" >> $GITHUB_STEP_SUMMARY - echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY - echo "| nightly-test-1-gpu-mi35x | \`${{ needs.nightly-test-1-gpu-mi35x.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-8-gpu-mi35x | \`${{ needs.nightly-accuracy-8-gpu-mi35x.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-grok1-int4 | \`${{ needs.nightly-8-gpu-mi35x-grok1-int4.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-grok2 | \`${{ needs.nightly-8-gpu-mi35x-grok2.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-deepseek-r1-mxfp4 | \`${{ needs.nightly-8-gpu-mi35x-deepseek-r1-mxfp4.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-8-gpu-mi35x-deepseek-v32 | \`${{ needs.nightly-accuracy-8-gpu-mi35x-deepseek-v32.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp | \`${{ needs.nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-perf-8-gpu-mi35x-deepseek-v32-basic | \`${{ needs.nightly-perf-8-gpu-mi35x-deepseek-v32-basic.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-perf-8-gpu-mi35x-deepseek-v32-mtp | \`${{ needs.nightly-perf-8-gpu-mi35x-deepseek-v32-mtp.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-kimi-k25 | \`${{ needs.nightly-8-gpu-mi35x-kimi-k25.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-qwen3-235b-mxfp4 | \`${{ needs.nightly-8-gpu-mi35x-qwen3-235b-mxfp4.result }}\` |" >> $GITHUB_STEP_SUMMARY - echo "| nightly-8-gpu-mi35x-glm5 | \`${{ needs.nightly-8-gpu-mi35x-glm5.result }}\` |" >> $GITHUB_STEP_SUMMARY - - - name: Check if any job failed - run: | - if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then - echo "One or more test jobs failed with AITER ref: ${{ needs.resolve-aiter.outputs.aiter_ref }}" - exit 1 - fi - if [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then - echo "One or more test jobs were cancelled" - exit 1 - fi - echo "All test jobs passed with AITER ${{ needs.resolve-aiter.outputs.aiter_ref }} (${{ needs.resolve-aiter.outputs.aiter_short_sha }})" diff --git a/.github/workflows/nightly-test-amd-rocm720.yml b/.github/workflows/nightly-test-amd-rocm720.yml index 6f35b4aba..fba760527 100644 --- a/.github/workflows/nightly-test-amd-rocm720.yml +++ b/.github/workflows/nightly-test-amd-rocm720.yml @@ -86,8 +86,11 @@ env: AITER_COMMIT_OVERRIDE: ${{ inputs.aiter_ref }} concurrency: - group: nightly-test-amd-rocm720-${{ inputs.ref || github.ref }} - cancel-in-progress: ${{ github.event_name != 'workflow_call' }} + # When called via workflow_call with ref set, use a unique group per caller run to avoid + # collisions with direct schedule/push triggers. We use inputs.ref (not github.event_name) + # to detect this, because github.event_name inherits from the caller in workflow_call. + group: nightly-test-amd-rocm720-${{ inputs.ref && format('caller-{0}', github.run_id) || github.ref }} + cancel-in-progress: ${{ !inputs.ref && github.event_name != 'workflow_call' }} jobs: # ============================================== MI30x ROCm 7.2 Unit Tests ============================================== diff --git a/.github/workflows/nightly-test-amd.yml b/.github/workflows/nightly-test-amd.yml index 410478cae..eee4fc864 100644 --- a/.github/workflows/nightly-test-amd.yml +++ b/.github/workflows/nightly-test-amd.yml @@ -86,8 +86,11 @@ env: AITER_COMMIT_OVERRIDE: ${{ inputs.aiter_ref }} concurrency: - group: nightly-test-amd-${{ inputs.ref || github.ref }} - cancel-in-progress: ${{ github.event_name != 'workflow_call' }} + # When called via workflow_call with ref set, use a unique group per caller run to avoid + # collisions with direct schedule/push triggers. We use inputs.ref (not github.event_name) + # to detect this, because github.event_name inherits from the caller in workflow_call. + group: nightly-test-amd-${{ inputs.ref && format('caller-{0}', github.run_id) || github.ref }} + cancel-in-progress: ${{ !inputs.ref && github.event_name != 'workflow_call' }} jobs: # ============================================== MI30x Unit Tests ============================================== diff --git a/.github/workflows/pr-test-amd-rocm720.yml b/.github/workflows/pr-test-amd-rocm720.yml index a4a2c9c8e..c0216b017 100644 --- a/.github/workflows/pr-test-amd-rocm720.yml +++ b/.github/workflows/pr-test-amd-rocm720.yml @@ -74,9 +74,11 @@ env: AITER_COMMIT_OVERRIDE: ${{ inputs.aiter_ref }} concurrency: - # Include pr_head_sha in group for /rerun-stage dispatches to avoid collisions with main branch runs - group: pr-test-amd-rocm720-${{ inputs.pr_head_sha || inputs.ref || github.ref }} - cancel-in-progress: ${{ github.event_name != 'workflow_call' }} + # When called via workflow_call with run_all_tests=true, use a unique group per run to + # avoid collisions with direct schedule/workflow_dispatch triggers. We use run_all_tests + # (not github.event_name) to detect this, because github.event_name inherits from the caller. + group: pr-test-amd-rocm720-${{ inputs.run_all_tests && format('full-{0}', github.run_id) || inputs.pr_head_sha || inputs.ref || github.ref }} + cancel-in-progress: ${{ !inputs.run_all_tests && github.event_name != 'workflow_call' }} jobs: call-gate: diff --git a/.github/workflows/pr-test-amd.yml b/.github/workflows/pr-test-amd.yml index df1bcdb64..867808feb 100644 --- a/.github/workflows/pr-test-amd.yml +++ b/.github/workflows/pr-test-amd.yml @@ -71,9 +71,11 @@ env: AITER_COMMIT_OVERRIDE: ${{ inputs.aiter_ref }} concurrency: - # Include pr_head_sha in group for /rerun-stage dispatches to avoid collisions with main branch runs - group: pr-test-amd-${{ inputs.pr_head_sha || inputs.ref || github.ref }} - cancel-in-progress: ${{ github.event_name != 'workflow_call' }} + # When called via workflow_call with run_all_tests=true, use a unique group per run to + # avoid collisions with direct push/PR triggers. We use run_all_tests (not github.event_name) + # to detect this, because github.event_name inherits from the caller in workflow_call. + group: pr-test-amd-${{ inputs.run_all_tests && format('full-{0}', github.run_id) || inputs.pr_head_sha || inputs.ref || github.ref }} + cancel-in-progress: ${{ !inputs.run_all_tests && github.event_name != 'workflow_call' }} jobs: call-gate: