Files
wehub-resource-sync 59a0a3844c
PR Test AMD / cancel-on-close (push) Has been skipped
PR Test NVIDIA ARM / scan (push) Has been skipped
PR Test NVIDIA / cancel-on-close (push) Has been skipped
PR Test AMD / scan (push) Has been skipped
PR Test NVIDIA ARM / cancel-on-close (push) Has been skipped
PR Test NVIDIA / scan (push) Has been skipped
Release Docker Images / build (cu129-torch-2.11.0) (push) Has been skipped
Release Docker Images / build (cu130-torch-2.11.0) (push) Has been skipped
Release PyPI / publish (push) Has been skipped
Scheduler Python Test / test (push) Successful in 27m19s
Docs / build (push) Successful in 28m8s
Scheduler C++ Test / test (push) Successful in 28m19s
Scheduler C++ Test / test-flat (push) Successful in 28m18s
Docs / deploy (push) Has been cancelled
PR Test AMD / finish (push) Has been cancelled
PR Test NVIDIA / finish (push) Has been cancelled
PR Test NVIDIA ARM / finish (push) Has been cancelled
PR Test NVIDIA ARM / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test AMD / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test NVIDIA / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:31 +08:00
..

CI Task Specs

test/ci/ is the source of truth for CI task declarations consumed by test/ci_system/pipeline.py.

Current trigger values:

  • per-commit
  • manual
  • nightly

Supported task types:

  • ut
  • server_smoke
  • eval
  • perf

Currently configured task directories:

  • eval
  • ut

Each task expands into one matrix entry per runner label. Add a top-level priority to a task YAML to bias dispatch order. GitHub Actions starts matrix jobs in include-list order, so high entries reach a contended runner pool before normal (the default) and low. Tasks that omit priority keep their original ordering.

priority accepts either a scalar (applies to every label of the task) or a per-label mapping (only the listed labels are overridden; every other label stays at normal):

# whole task at high
priority: high

# only the b300-1gpu instance drops to low; h100-1gpu / b200-1gpu / ...
# of the same task keep the default normal
priority:
  b300-1gpu: low

Typical use: lower a 1gpu kernel unit-test on b300-1gpu so the heavier b300-4gpu evals that share the same box claim the runner first, without disturbing the same task's ordering on the other GPU families.

optional marks a task or per-label matrix entry as non-blocking. Optional entries are emitted with matrix.optional: true, and the PR workflows map that to GitHub Actions continue-on-error.

# whole task can fail without blocking the workflow
optional: true

# only the MI355 bench entry is non-blocking; the MI350 entry of the same
# task still blocks on failure
optional:
  amd-mi355-1gpu-bench: true

b200-<Ngpu> labels are the default B200 runners. Set the TOKENSPEED_B200_RUNNER_LABEL repository variable in GitHub Actions (Settings -> Secrets and variables -> Actions -> Variables) to a non-empty runner family such as b200v2 to temporarily route them to b200v2-<Ngpu> without editing task YAML. Leave the variable unset or empty to use the default b200-<Ngpu> labels. The CI system derives SM from common runner label prefixes by default: h100/h200 use sm90, b200/gb200 use sm100, and b300/gb300 use sm103. Use runner.env.<label> only for environment variables that should override or extend the defaults for a single runner label.

PR workflows split runner labels by vendor and host architecture. PR Test NVIDIA uses the nvidia-x86 runner group, while PR Test NVIDIA ARM uses the nvidia-arm runner group for gb200 labels.