[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:
|
||||
|
||||
68
pytest.ini
68
pytest.ini
@@ -1,68 +0,0 @@
|
||||
[pytest]
|
||||
minversion = 6.0
|
||||
norecursedirs =
|
||||
vllm-empty/tests/prefix_caching
|
||||
vllm-empty/tests/weight_loading
|
||||
vllm-empty/tests/samplers
|
||||
vllm-empty/tests/kernels
|
||||
vllm-empty/tests/quantization
|
||||
vllm-empty/tests/tool_use
|
||||
vllm-empty/tests/runai_model_streamer_test
|
||||
vllm-empty/tests/kv_transfer
|
||||
vllm-empty/tests/plugins
|
||||
vllm-empty/tests/plugins_tests
|
||||
vllm-empty/tests/prompt_adapter
|
||||
vllm-empty/tests/compile
|
||||
vllm-empty/tests/lora
|
||||
vllm-empty/tests/models
|
||||
vllm-empty/tests/mistral_tool_use
|
||||
vllm-empty/tests/standalone_tests
|
||||
vllm-empty/tests/async_engine
|
||||
vllm-empty/tests/mq_llm_engine
|
||||
vllm-empty/tests/tokenization
|
||||
vllm-empty/tests/core
|
||||
vllm-empty/tests/tracing
|
||||
vllm-empty/tests/engine
|
||||
vllm-empty/tests/tensorizer_loader
|
||||
vllm-empty/tests/entrypoints
|
||||
vllm-empty/tests/model_executor
|
||||
vllm-empty/tests/encoder_decoder
|
||||
vllm-empty/tests/v1
|
||||
vllm-empty/tests/spec_decode
|
||||
vllm-empty/tests/multi_step
|
||||
vllm-empty/tests/vllm_test_utils
|
||||
vllm-empty/tests/tpu
|
||||
vllm-empty/tests/distributed
|
||||
vllm-empty/tests/basic_correctness
|
||||
vllm-empty/tests/worker
|
||||
vllm-empty/tests/metrics
|
||||
vllm-empty/tests/neuron
|
||||
; fastsafetensors not support npu now
|
||||
vllm-empty/tests/fastsafetensors_loader
|
||||
|
||||
addopts = --ignore=vllm-empty/tests/test_utils.py
|
||||
--ignore=vllm-empty/tests/test_config.py
|
||||
--ignore=vllm-empty/tests/test_scalartype.py
|
||||
--ignore=vllm-empty/tests/test_version.py
|
||||
--ignore=vllm-empty/tests/test_embedded_commit.py
|
||||
--ignore=vllm-empty/tests/test_inputs.py
|
||||
--ignore=vllm-empty/tests/test_sharded_state_loader.py
|
||||
--ignore=vllm-empty/tests/test_logger.py
|
||||
--ignore=vllm-empty/tests/test_logits_processor.py
|
||||
--ignore=vllm-empty/tests/test_regression.py
|
||||
--ignore=vllm-empty/tests/models/decoder_only/language/test_aqlm.py
|
||||
--ignore=vllm-empty/tests/models/decoder_only/language/test_gptq_marlin.py
|
||||
--ignore=vllm-empty/tests/models/decoder_only/language/test_gptq_marlin_24.py
|
||||
--ignore=vllm-empty/tests/multimodal/test_processing.py
|
||||
--ignore=vllm-empty/tests/multimodal/test_processor_kwargs.py
|
||||
--ignore=vllm-empty/tests/multimodal/test_utils.py
|
||||
; Both V1 and V0 engine will be run in detokenizer/test_stop_reason
|
||||
; VLLM_USE_V1=1 is not supported with device type=npu.
|
||||
--ignore=vllm-empty/tests/detokenizer/test_stop_reason.py
|
||||
; oom on llama-2-7b-hf
|
||||
--ignore=vllm-empty/tests/detokenizer/test_stop_strings.py
|
||||
; no need to run on vllm-ascend
|
||||
--ignore=vllm-empty/tests/test_vllm_port.py
|
||||
|
||||
testpaths =
|
||||
vllm-empty/tests
|
||||
Reference in New Issue
Block a user