@@ -12,31 +12,46 @@ Three steps run in order:
1212
1313** ` pre-commit-npu ` ** runs the pre-commit gate on all files, always.
1414
15- ** ` image-build-npu ` ** builds and pushes the NPU test image via buildctl/buildkit.
16- It only runs when ` Dockerfile.npu ` has changed (PR trigger) or on a scheduled
17- build — otherwise the step is skipped and the pre-built default image is used.
15+ ** ` npu-gate ` ** is a block step that pauses the pipeline for manual interaction.
16+ It appears only on PR triggers (` build.source != "schedule" ` ). You select which
17+ NPU suites to run via a multi-select field:
18+
19+ - ** ` image-build ` ** — triggers a fresh image build in the ` image-build-npu ` step;
20+ when selected, ` smk ` is automatically included and all test steps use the newly
21+ built image instead of the pre-built default.
22+ - ** ` smk ` ** — runs the smoke test suite.
23+ - ** ` nightly ` ** — runs the nightly test suite.
24+
25+ ** ` image-build-npu ` ** the ` image-build-npu ` step will build and
26+ push a fresh NPU test image tagged with the current commit. When ` image-build `
27+ is selected, all test steps generated by ` upload-npu-suites ` use the newly built
28+ image instead of the pre-built default image.
29+
30+ This allows testing code changes that require an updated NPU environment
31+ (e.g., modifications to ` docker/Dockerfile.npu ` ) before they are merged.
1832
1933** ` upload-npu-suites ` ** reads the ` NPU_SUITES ` environment variable (or
2034` buildkite-agent meta-data get npu-suites ` for PR triggers) and generates
2135individual test jobs via [ ` npu_suites.py ` ] ( ./npu_suites.py ) .
2236
2337## Triggers
2438
25- The pipeline supports three trigger modes:
39+ The pipeline supports two trigger modes:
2640
27- ** PR trigger.** On a PR trigger, the pre-built default image is used and
28- test suites are selected manually via the block step.
41+ ** PR trigger.** The ` npu-gate ` block step appears for manual suite selection.
42+ Suites not selected in the block step are skipped. The ` image-build-npu ` step
43+ builds a new image only when ` image-build ` is chosen in the block.
2944
30- ** Schedule trigger.** On a scheduled build, a new image is always built
31- regardless of file changes. The suites to run are determined by the
45+ ** Schedule trigger.** There is no block step — the ` npu-gate ` step is omitted
46+ entirely. A new image is ** always ** built, and the suites are determined by the
3247` NPU_SUITES ` environment variable (set in the scheduled build's pipeline
33- configuration), which selects the corresponding entries from the ` SUITES ` dict.
48+ configuration), which lists suite names from the ` SUITES ` dict.
3449
3550## Adding a test
3651
3752Suites and test mappings are defined in [ ` npu_suites.py ` ] ( ./npu_suites.py ) . Two
38- suites are predefined — ` smk ` (always runs) and ` nightly ` (runs on schedule or
39- with the ` run-ci-npu-nightly ` label).
53+ suites are predefined — ` smk ` (runs with the ` run-ci-npu-smk ` label) and ` nightly `
54+ (runs on schedule or with the ` run-ci-npu-nightly ` label).
4055
4156Each entry is a 4-tuple:
4257
0 commit comments