name: Diffusion CI Ground Truth Generation on: workflow_dispatch: inputs: ref: description: 'Git ref to checkout' required: false default: '' type: string case_ids: description: 'Specific case IDs to run (space-separated, optional)' required: false default: '' type: string concurrency: group: diffusion-ci-gt-gen-${{ github.ref }} cancel-in-progress: true permissions: contents: write actions: read env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" jobs: multimodal-diffusion-gen-1gpu: if: github.repository == 'sgl-project/sglang' runs-on: 1-gpu-h100 strategy: matrix: part: [0, 1] timeout-minutes: 150 steps: - name: Checkout code uses: actions/checkout@v4 with: ref: ${{ inputs.ref || github.ref }} - name: Install dependencies run: bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Generate outputs env: RUNAI_STREAMER_MEMORY_LIMIT: 0 run: | cd python python -m sglang.multimodal_gen.test.scripts.gen_diffusion_ci_outputs \ --suite 1-gpu \ --partition-id ${{ matrix.part }} \ --total-partitions 2 \ --out-dir ./diffusion-ci-outputs \ ${{ inputs.case_ids != '' && format('--case-ids {0}', inputs.case_ids) || '' }} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: diffusion-gen-1gpu-part${{ matrix.part }} path: python/diffusion-ci-outputs retention-days: 7 - name: Publish GT images to sglang-bot/sglang-ci-data env: GITHUB_TOKEN: ${{ secrets.GH_PAT_FOR_NIGHTLY_CI_DATA }} run: python scripts/ci/utils/diffusion/publish_diffusion_gt.py --source-dir python/diffusion-ci-outputs multimodal-diffusion-gen-2gpu: if: github.repository == 'sgl-project/sglang' runs-on: 2-gpu-h100 strategy: matrix: part: [0, 1] timeout-minutes: 150 steps: - name: Checkout code uses: actions/checkout@v4 with: ref: ${{ inputs.ref || github.ref }} - name: Install dependencies run: bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Generate outputs env: RUNAI_STREAMER_MEMORY_LIMIT: 0 run: | cd python python -m sglang.multimodal_gen.test.scripts.gen_diffusion_ci_outputs \ --suite 2-gpu \ --partition-id ${{ matrix.part }} \ --total-partitions 2 \ --out-dir ./diffusion-ci-outputs \ ${{ inputs.case_ids != '' && format('--case-ids {0}', inputs.case_ids) || '' }} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: diffusion-gen-2gpu-part${{ matrix.part }} path: python/diffusion-ci-outputs retention-days: 7 - name: Publish GT images to sglang-bot/sglang-ci-data env: GITHUB_TOKEN: ${{ secrets.GH_PAT_FOR_NIGHTLY_CI_DATA }} run: python scripts/ci/utils/diffusion/publish_diffusion_gt.py --source-dir python/diffusion-ci-outputs multimodal-diffusion-gen-b200: if: github.repository == 'sgl-project/sglang' runs-on: 4-gpu-b200 timeout-minutes: 240 steps: - name: Checkout code uses: actions/checkout@v4 with: ref: ${{ inputs.ref || github.ref }} - name: Install dependencies run: bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Generate outputs env: RUNAI_STREAMER_MEMORY_LIMIT: 0 run: | cd python python -m sglang.multimodal_gen.test.scripts.gen_diffusion_ci_outputs \ --suite 1-gpu-b200 \ --out-dir ./diffusion-ci-outputs \ ${{ inputs.case_ids != '' && format('--case-ids {0}', inputs.case_ids) || '' }} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: diffusion-gen-b200 path: python/diffusion-ci-outputs retention-days: 7 - name: Publish GT images to sglang-bot/sglang-ci-data env: GITHUB_TOKEN: ${{ secrets.GH_PAT_FOR_NIGHTLY_CI_DATA }} run: python scripts/ci/utils/diffusion/publish_diffusion_gt.py --source-dir python/diffusion-ci-outputs