【NPU】vime NPU CI Integration#316
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a pre-commit lint step and a new script, update-npu-environment.sh, to manage and apply NPU environment patches dynamically within the Buildkite pipeline. While these additions improve the CI workflow, several critical issues were identified in the review. Specifically, the patch application check logic needs to be reversed to work correctly, a typo in the NPU device environment variable name must be fixed, and the script should be sourced rather than executed to persist environment variables. Additionally, leftover sleep 3600 debugging statements should be removed to prevent pipeline hangs, the new vllm_ascend_test.patch needs to be registered in the configuration, and the unused verify_all_patches function should be addressed.
Documentation build overview
43 files changed ·
|
96ec45b to
f391ae4
Compare
6750187 to
28e945c
Compare
1. The NPU environment update and modification are extracted into the script for execution 2. CI adds judgment, and applies to the corresponding component when there is a patch update Signed-off-by: yangzeyu <532183776@qq.com>
Signed-off-by: yangzeyu <532183776@qq.com>
9748c33 to
ecc1dd2
Compare
| } | ||
| } | ||
| ], | ||
| "env": pod_env, |
There was a problem hiding this comment.
https://buildkite.com/docs/pipelines/configure/defining-steps#step-types. In Buildkite, the env field is specified as a map of environment variables to be applied to all steps. However, the current generation produces a Kubernetes‑style array. Could this lead to schema validation errors in tests?
There was a problem hiding this comment.
Buildkite is compatible with this format, and the script generates the same configuration format as gpu_suites.py. We've tested it and it works correctly.
|
|
||
| The pipeline supports three trigger modes: | ||
|
|
||
| **PR trigger.** When a PR is opened or updated, `check-npu-build.sh` checks |
There was a problem hiding this comment.
The check-npu-build.sh script mentioned in the README is not present in the pull request’s file tree.
There was a problem hiding this comment.
Related descriptions have been deleted. This script will be added in the next PR.
Signed-off-by: yangzeyu <532183776@qq.com> Signed-off-by: yangzeyu <yangzeyu7@huawei.com>
Summary
Based on the RFC [RFC]vime NPU CI Integration#315 , this work supplements the VIME NPU CI functionality and isolates it from the VIME CI.
What changed
The configuration and code updates of the NPU environment in CI will be extracted into the script for execution, which is convenient for subsequent updates.
When CI is executed, the patch is reloaded to facilitate verification of patch modifications
It supports reading the block step and generates individual test jobs via 'npu_suites.py'
update the image to the latest version quay.io/ascend/vime:0.3.0-a3-vllm0.22.1rc1
Add a check to rebuild the CI image for validation when dockerfile.npu is modified or a nightly scheduled pipeline is triggered.
pipeline-npu.yaml will execute in a separate buildkite pipeline VIME NPU CI and is deleted from the VIME CI. Added README-NPU-CI.md, introducing VIME-NPU-CI functionality and steps to add test cases
Test result
1、update patch apply in the docker success

2、Successfully retrieved the npu-suites block and generated the smk test suite for testing.

Todo
To complete the isolation and normal operation of the VIME NPU CI and VIME CI, the following modifications to GitHub and Buildkite configurations are required.
buildkite:
github: