[Intel XPU] Bump nightly per-file timeout to 120m and extend XPU CI monitor (#30100)
This commit is contained in:
@@ -84,7 +84,7 @@ jobs:
|
|||||||
source /opt/venv/bin/activate &&
|
source /opt/venv/bin/activate &&
|
||||||
cd /sglang-checkout/test &&
|
cd /sglang-checkout/test &&
|
||||||
GITHUB_STEP_SUMMARY=/sglang-checkout/github_summary.md \
|
GITHUB_STEP_SUMMARY=/sglang-checkout/github_summary.md \
|
||||||
python3 run_suite.py --hw xpu --suite nightly-xpu-2-gpu --nightly --timeout-per-file 1800 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }}
|
python3 run_suite.py --hw xpu --suite nightly-xpu-2-gpu --nightly --timeout-per-file 7200 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }}
|
||||||
" || TEST_EXIT_CODE=$?
|
" || TEST_EXIT_CODE=$?
|
||||||
echo "$(<github_summary.md)" >> $GITHUB_STEP_SUMMARY || true
|
echo "$(<github_summary.md)" >> $GITHUB_STEP_SUMMARY || true
|
||||||
exit ${TEST_EXIT_CODE:-0}
|
exit ${TEST_EXIT_CODE:-0}
|
||||||
@@ -143,7 +143,7 @@ jobs:
|
|||||||
source /opt/venv/bin/activate &&
|
source /opt/venv/bin/activate &&
|
||||||
cd /sglang-checkout/test &&
|
cd /sglang-checkout/test &&
|
||||||
GITHUB_STEP_SUMMARY=/sglang-checkout/github_summary.md \
|
GITHUB_STEP_SUMMARY=/sglang-checkout/github_summary.md \
|
||||||
python3 run_suite.py --hw xpu --suite nightly-xpu-4-gpu --nightly --timeout-per-file 2400 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }}
|
python3 run_suite.py --hw xpu --suite nightly-xpu-4-gpu --nightly --timeout-per-file 7200 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }}
|
||||||
" || TEST_EXIT_CODE=$?
|
" || TEST_EXIT_CODE=$?
|
||||||
echo "$(<github_summary.md)" >> $GITHUB_STEP_SUMMARY || true
|
echo "$(<github_summary.md)" >> $GITHUB_STEP_SUMMARY || true
|
||||||
exit ${TEST_EXIT_CODE:-0}
|
exit ${TEST_EXIT_CODE:-0}
|
||||||
|
|||||||
@@ -49,6 +49,15 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pip install tabulate
|
run: pip install tabulate
|
||||||
|
|
||||||
|
- name: Select workflows for snapshot
|
||||||
|
id: select-workflows
|
||||||
|
run: |
|
||||||
|
if [[ -n "${{ inputs.job_filter }}" ]]; then
|
||||||
|
echo "workflows=pr-test-xpu.yml" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "workflows=pr-test-xpu.yml,nightly-test-intel.yml" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Fetch Actions data snapshot
|
- name: Fetch Actions data snapshot
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
run: |
|
run: |
|
||||||
@@ -56,7 +65,7 @@ jobs:
|
|||||||
# (0.34h) to bound API cost. schedule / dispatch run the full report.
|
# (0.34h) to bound API cost. schedule / dispatch run the full report.
|
||||||
python scripts/ci/utils/xpu_job_monitor.py \
|
python scripts/ci/utils/xpu_job_monitor.py \
|
||||||
--repo ${{ github.repository }} \
|
--repo ${{ github.repository }} \
|
||||||
--workflow "pr-test-xpu.yml" \
|
--workflow "${{ steps.select-workflows.outputs.workflows }}" \
|
||||||
--hours ${{ (github.event_name == 'pull_request' && '0.34') || inputs.hours || '24' }} \
|
--hours ${{ (github.event_name == 'pull_request' && '0.34') || inputs.hours || '24' }} \
|
||||||
--dump-data-file actions-job-snapshot.json
|
--dump-data-file actions-job-snapshot.json
|
||||||
|
|
||||||
@@ -109,6 +118,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
pr_jobs: ${{ steps.parse.outputs.pr_jobs }}
|
pr_jobs: ${{ steps.parse.outputs.pr_jobs }}
|
||||||
|
nightly_jobs: ${{ steps.parse.outputs.nightly_jobs }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -124,6 +134,14 @@ jobs:
|
|||||||
echo "pr_jobs=$pr_jobs" >> $GITHUB_OUTPUT
|
echo "pr_jobs=$pr_jobs" >> $GITHUB_OUTPUT
|
||||||
echo "PR jobs: $pr_jobs"
|
echo "PR jobs: $pr_jobs"
|
||||||
|
|
||||||
|
# Parse nightly-test-intel.yml and extract job names (exclude utility jobs)
|
||||||
|
# Excluded: check-all-jobs
|
||||||
|
nightly_jobs=$(yq -r '.jobs | keys | .[]' .github/workflows/nightly-test-intel.yml | \
|
||||||
|
grep -v -E '^(check-all-jobs)$' | \
|
||||||
|
jq -R -s -c 'split("\n") | map(select(length > 0))')
|
||||||
|
echo "nightly_jobs=$nightly_jobs" >> $GITHUB_OUTPUT
|
||||||
|
echo "Nightly jobs: $nightly_jobs"
|
||||||
|
|
||||||
# PR CI reports using dynamic matrix
|
# PR CI reports using dynamic matrix
|
||||||
pr-ci-reports:
|
pr-ci-reports:
|
||||||
name: PR - ${{ matrix.job_name }}
|
name: PR - ${{ matrix.job_name }}
|
||||||
@@ -163,6 +181,45 @@ jobs:
|
|||||||
--input-data-file ci-data/actions-job-snapshot.json \
|
--input-data-file ci-data/actions-job-snapshot.json \
|
||||||
--summary
|
--summary
|
||||||
|
|
||||||
|
# Nightly XPU test reports using dynamic matrix
|
||||||
|
nightly-reports:
|
||||||
|
name: Nightly - ${{ matrix.job_name }}
|
||||||
|
needs: [parse-workflows, fetch-actions-data]
|
||||||
|
if: ${{ !inputs.job_filter }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
job_name: ${{ fromJson(needs.parse-workflows.outputs.nightly_jobs) }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.10'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install tabulate
|
||||||
|
|
||||||
|
- name: Download Actions data snapshot
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: actions-job-snapshot
|
||||||
|
path: ci-data
|
||||||
|
|
||||||
|
- name: Generate Nightly Report
|
||||||
|
timeout-minutes: 15
|
||||||
|
run: |
|
||||||
|
python scripts/ci/utils/xpu_job_monitor.py \
|
||||||
|
--repo ${{ github.repository }} \
|
||||||
|
--job "${{ matrix.job_name }}" \
|
||||||
|
--workflow "nightly-test-intel.yml" \
|
||||||
|
--hours ${{ inputs.hours || '24' }} \
|
||||||
|
--input-data-file ci-data/actions-job-snapshot.json \
|
||||||
|
--summary
|
||||||
|
|
||||||
# Runner fleet report - cross-workflow runner analytics in a single pass
|
# Runner fleet report - cross-workflow runner analytics in a single pass
|
||||||
runner-fleet-report:
|
runner-fleet-report:
|
||||||
name: Runner Fleet Report
|
name: Runner Fleet Report
|
||||||
@@ -193,7 +250,7 @@ jobs:
|
|||||||
python scripts/ci/utils/xpu_job_monitor.py \
|
python scripts/ci/utils/xpu_job_monitor.py \
|
||||||
--repo ${{ github.repository }} \
|
--repo ${{ github.repository }} \
|
||||||
--runner-report \
|
--runner-report \
|
||||||
--workflow "pr-test-xpu.yml" \
|
--workflow "pr-test-xpu.yml,nightly-test-intel.yml" \
|
||||||
--hours ${{ inputs.hours || '24' }} \
|
--hours ${{ inputs.hours || '24' }} \
|
||||||
--input-data-file ci-data/actions-job-snapshot.json \
|
--input-data-file ci-data/actions-job-snapshot.json \
|
||||||
--summary
|
--summary
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ fi
|
|||||||
|
|
||||||
echo "Launching container: ${CONTAINER_NAME} from ${IMAGE}"
|
echo "Launching container: ${CONTAINER_NAME} from ${IMAGE}"
|
||||||
docker run -dt \
|
docker run -dt \
|
||||||
|
--shm-size 8g \
|
||||||
--group-add 992 \
|
--group-add 992 \
|
||||||
${VIDEO_GID:+--group-add "${VIDEO_GID}"} \
|
${VIDEO_GID:+--group-add "${VIDEO_GID}"} \
|
||||||
${RENDER_GID:+--group-add "${RENDER_GID}"} \
|
${RENDER_GID:+--group-add "${RENDER_GID}"} \
|
||||||
|
|||||||
Reference in New Issue
Block a user