[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:
12
.github/workflows/release_code.yml
vendored
12
.github/workflows/release_code.yml
vendored
@@ -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:
|
||||
|
||||
13
.github/workflows/release_whl.yml
vendored
13
.github/workflows/release_whl.yml
vendored
@@ -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:
|
||||
|
||||
62
.github/workflows/vllm_ascend_test.yaml
vendored
62
.github/workflows/vllm_ascend_test.yaml
vendored
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user