[CI] Make CI tracker more clear (#1720)

1. enable lint check for all change
2. only run ut and e2e if it's the code change.
3. only run ut and disable e2e if the change is ut only.
4. disable wheel build for push case
5. run unit test when pr is merged
6. remove useless pytest.ini




- vLLM version: v0.9.2
- vLLM main:
fdfd409f8f

Signed-off-by: wangxiyuan <wangxiyuan1007@gmail.com>
This commit is contained in:
wangxiyuan
2025-07-10 16:03:23 +08:00
committed by GitHub
parent 3d1e6a5929
commit 011fd73a48
4 changed files with 30 additions and 125 deletions

View File

@@ -32,20 +32,8 @@ on:
- 'CMakeLists.txt'
- 'csrc/**'
push:
branches:
- 'main'
- '*-dev'
tags:
- 'v*'
paths:
- '.github/workflows/release_code.yml'
- 'vllm_ascend/**'
- 'setup.py'
- 'pyproject.toml'
- 'requirements.txt'
- 'cmake/**'
- 'CMakeLists.txt'
- 'csrc/**'
jobs:
build:

View File

@@ -36,21 +36,8 @@ on:
- 'CMakeLists.txt'
- 'csrc/**'
push:
branches:
- 'main'
- '*-dev'
tags:
- 'v*'
paths:
- '.github/workflows/release_whl.yml'
- '.github/Dockerfile.buildwheel'
- 'vllm_ascend/**'
- 'setup.py'
- 'pyproject.toml'
- 'requirements.txt'
- 'cmake/**'
- 'CMakeLists.txt'
- 'csrc/**'
jobs:
build:

View File

@@ -19,38 +19,12 @@ name: 'test'
on:
push:
# Enable merged test per commit
branches:
- 'main'
paths:
- '*.txt'
- '**/*.py'
- '.github/workflows/vllm_ascend_test.yaml'
- '!docs/**'
- 'pytest.ini'
- '!benchmarks/**'
- 'tools/mypy.sh'
- 'mypy.ini'
- '.github/workflows/*.ya?ml'
- '.github/workflows/actionlint.*'
- '.github/workflows/matchers/actionlint.json'
pull_request:
branches:
- 'main'
- '*-dev'
paths:
- '*.txt'
- '**/*.py'
- '.github/workflows/vllm_ascend_test.yaml'
- '!docs/**'
- '!examples/**'
- 'pytest.ini'
- '!benchmarks/**'
- 'tools/mypy.sh'
- 'mypy.ini'
- '.github/workflows/*.ya?ml'
- '.github/workflows/actionlint.*'
- '.github/workflows/matchers/actionlint.json'
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
@@ -71,11 +45,35 @@ jobs:
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/pre-commit.yml
changes:
# Only trigger changes on pull request
if: ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
e2e_tracker: ${{ steps.filter.outputs.e2e_tracker }}
ut_tracker: ${{ steps.filter.outputs.ut_tracker }}
steps:
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
e2e_tracker:
- 'vllm_ascend/**'
- 'csrc/**'
- 'cmake/**'
- 'tests/e2e/**'
- 'tests/conftest.py'
- 'tests/model_utils.py'
- 'tests/utils.py'
ut_tracker:
- 'tests/ut/**'
ut:
needs: [lint]
needs: [lint, changes]
name: unit test
# only trigger e2e test on [pull request after lint passed] and [merged commit]
if: ${{ needs.lint.result == 'success' || github.event_name == 'push' }}
# only trigger unit test after lint passed and the change is e2e and ut related. Or the PR is merged.
if: ${{ github.event_name == 'push' || (needs.lint.result == 'success' && (needs.changes.outputs.e2e_tracker == 'true' || needs.changes.outputs.ut_tracker == 'true')) }}
runs-on: ubuntu-latest
container:
image: quay.io/ascend/cann:8.1.rc1-910b-ubuntu22.04-py3.10
@@ -134,9 +132,9 @@ jobs:
verbose: true
e2e:
needs: [lint]
# only trigger e2e test on pull request after lint passed
if: ${{ needs.lint.result == 'success' && github.event_name == 'pull_request' }}
needs: [lint, changes]
# only trigger e2e test after lint passed and the change is e2e related.
if: ${{ needs.lint.result == 'success' && needs.changes.outputs.e2e_tracker == 'true' }}
strategy:
max-parallel: 2
matrix: