50 lines
1.6 KiB
YAML
50 lines
1.6 KiB
YAML
# Weekly CPU tests. Holds the CPU-only unit tests that are not worth a
|
|
# per-commit slot -- debug tooling (dump comparator, source patcher) whose
|
|
# breakage is fine to notice once a week.
|
|
#
|
|
# Separate from weekly-test-nvidia.yml because CPU goes through a different
|
|
# reusable workflow, and `uses:` takes no expressions -- so it cannot be another
|
|
# row in that file's matrix. Both run the same shared stage their per-commit
|
|
# counterparts do, so a test behaves identically in a PR and in the weekly run.
|
|
name: Weekly Test (CPU)
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 0 * * 0' # Sunday 00:00 UTC, alongside the Nvidia weekly run
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: weekly-test-cpu-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
actions: write
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
|
|
jobs:
|
|
# run_all_tests skips the paths-filter, so every test runs regardless of what
|
|
# the last commit touched.
|
|
check-changes:
|
|
uses: ./.github/workflows/_pr-test-check-changes.yml
|
|
with:
|
|
pr_test_yml: '.github/workflows/weekly-test-cpu.yml'
|
|
run_all_tests: true
|
|
force_continue_on_error: true
|
|
secrets: inherit
|
|
|
|
# No rust_ext_artifact: nothing builds one here, so the stage falls back to
|
|
# its cache and compiles on a miss.
|
|
weekly-test-cpu:
|
|
needs: check-changes
|
|
if: github.repository == 'sgl-project/sglang'
|
|
uses: ./.github/workflows/_pr-test-stage-cpu.yml
|
|
with:
|
|
self_name: weekly-test-cpu
|
|
check_changes: ${{ toJson(needs.check-changes.outputs) }}
|
|
caller_inputs: ${{ toJson(inputs) }}
|
|
partitions: ${{ needs.check-changes.outputs.partitions }}
|
|
run_timeout_minutes: '90'
|
|
secrets: inherit
|