Skip to content

[CI] externalize test config and add /nightly dispatch resolver#10614

Open
zhangxinyuehfad wants to merge 2 commits into
vllm-project:mainfrom
zhangxinyuehfad:zxy_fix_nightly
Open

[CI] externalize test config and add /nightly dispatch resolver#10614
zhangxinyuehfad wants to merge 2 commits into
vllm-project:mainfrom
zhangxinyuehfad:zxy_fix_nightly

Conversation

@zhangxinyuehfad

@zhangxinyuehfad zhangxinyuehfad commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

What this PR does / why we need it?

  • Move per-platform test configs (A2/A3 single-node, multi-node, double-node, multi-card, accuracy) into a centralized .github/workflows/configs/nightly_config.yaml and replace the old accuracy_groups_a2.json with the new schema.
  • Update resolve_nightly_tests.py to support both the matrix mode (read sections from nightly_config.yaml) and a new dispatch mode (resolve /nightly <name> tokens to a2/a3 dispatch flags + transformed test cases).
  • Wire pr_nightly_command.yml to consume the dispatch outputs so /nightly slash commands can route PR-based runs to the right nightly workflow with proper PR-ref sparse-checkout.
  • Update the developer guide to document the new flow.
  • Consume matrix references from generate-a2/a3-matrix jobs instead of inline test_config matrices.
  • Add generate-a2/a3-matrix to the corresponding needs arrays.

Does this PR introduce any user-facing change?

How was this patch tested?

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the CI nightly testing infrastructure by centralizing test configurations into a single YAML file and introducing a dynamic dispatch mechanism. By decoupling the test matrix from hardcoded workflow files, the system now allows for more flexible and PR-specific test execution via slash commands, simplifying the process for developers to validate new test cases against real hardware.

Highlights

  • Centralized Test Configuration: Moved all per-platform test configurations into a single .github/workflows/configs/nightly_config.yaml file, replacing the legacy accuracy_groups_a2.json schema.
  • Enhanced Dispatch Resolver: Updated resolve_nightly_tests.py to support both matrix mode and a new dispatch mode, allowing /nightly slash commands to resolve names directly to dispatch flags.
  • Workflow Integration: Wired pr_nightly_command.yml to consume dispatch outputs, enabling PR-based nightly test runs with proper ref sparse-checkout.
  • Documentation Updates: Updated the developer guide to reflect the new test matrix data source and provided a worked example for adding new nightly test cases.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .github/workflows/** (5)
    • .github/workflows/configs/nightly_config.yaml
    • .github/workflows/pr_nightly_command.yml
    • .github/workflows/schedule_nightly_test_a2.yaml
    • .github/workflows/schedule_nightly_test_a3.yaml
    • .github/workflows/scripts/resolve_nightly_tests.py
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request externalizes the nightly test configurations into a centralized YAML file (nightly_config.yaml) and removes the old accuracy_groups_a2.json file. It also updates the developer guide to document the new test matrix data source, instructions for adding new test cases, and updated troubleshooting steps. The reviewer noted that the PR title and description do not adhere to the repository's style guide and provided a suggested title and summary to fix this.

| Code tested | Pre-built nightly image | Your PR's HEAD commit (source installed fresh) |
| Test scope | All tests | Configurable via `/nightly <names>` |
| vLLM + vllm-ascend | From image | Checked out and installed from source |
| Test matrix | From main branch's matrix YAML | From PR branch's matrix YAML |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The Pull Request title and description do not fully adhere to the repository's Pull Request Summary Style Guide. Specifically, the PR title is missing the required Action prefix, and the description sections for user-facing changes and testing are empty.

Please update them as suggested below:

Suggested PR Title:

[CI][Feature] externalize test config and add /nightly dispatch resolver

Suggested PR Summary:

### What this PR does / why we need it?

- Move per-platform test configs (A2/A3 single-node, multi-node, double-node, multi-card, accuracy) into a centralized `.github/workflows/configs/nightly_config.yaml` and replace the old `accuracy_groups_a2.json` with the new schema.
- Update `resolve_nightly_tests.py` to support both the **matrix mode** (read sections from `nightly_config.yaml`) and a new **dispatch mode** (resolve `/nightly <name>` tokens to a2/a3 dispatch flags + transformed test cases).
- Wire `pr_nightly_command.yml` to consume the dispatch outputs so `/nightly` slash commands can route PR-based runs to the right nightly workflow with proper PR-ref sparse-checkout.
- Update the developer guide to document the new flow.
- Consume matrix references from generate-a2/a3-matrix jobs instead of inline `test_config` matrices.
- Add generate-a2/a3-matrix to the corresponding `needs` arrays.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Tested via CI runs and verifying the `/nightly` command dispatch logic.
References
  1. The PR title and summary must follow the specified formats in the Pull Request Summary Style Guide. (link)

@github-actions github-actions Bot added documentation Improvements or additions to documentation ci/build module:tests labels Jun 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 Hi! Thank you for contributing to the vLLM Ascend project. The following points will speed up your PR merge:‌‌

  • A PR should do only one thing, smaller PRs enable faster reviews.
  • Every PR should include unit tests and end-to-end tests ‌to ensure it works and is not broken by other future PRs.
  • Write the commit message by fulfilling the PR description to help reviewer and future developers understand.

If CI fails, you can run linting and testing checks locally according Contributing and Testing.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Replace inline test_config matrices in single-node-tests, multi-node-tests,
double-node-tests, multi-card-tests, and single-node-accuracy-tests with
references to outputs from the generate-a2/a3-matrix jobs. Add
generate-a2/a3-matrix to the corresponding needs arrays.

Signed-off-by: hfadzxy <starmoon_zhang@163.com>
Move per-platform test configs (A2/A3 single-node, multi-node, double-node,
multi-card, accuracy) into a centralized .github/workflows/configs/nightly_config.yaml
and replace the old accuracy_groups_a2.json with the new schema.

Update resolve_nightly_tests.py to support both the matrix mode (read sections
from nightly_config.yaml) and a new dispatch mode (resolve /nightly <name>
tokens to a2/a3 dispatch flags + transformed test cases).

Wire pr_nightly_command.yml to consume the dispatch outputs so /nightly slash
commands can route PR-based runs to the right nightly workflow with proper
PR-ref sparse-checkout. Update the developer guide to document the new flow.

Signed-off-by: hfadzxy <starmoon_zhang@163.com>
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build documentation Improvements or additions to documentation merge-conflicts module:tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant