diff --git a/.github/workflows/release_code.yml b/.github/workflows/release_code.yml index b340cc4..a11312c 100644 --- a/.github/workflows/release_code.yml +++ b/.github/workflows/release_code.yml @@ -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: diff --git a/.github/workflows/release_whl.yml b/.github/workflows/release_whl.yml index 8ed29ef..2e6a44b 100644 --- a/.github/workflows/release_whl.yml +++ b/.github/workflows/release_whl.yml @@ -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: diff --git a/.github/workflows/vllm_ascend_test.yaml b/.github/workflows/vllm_ascend_test.yaml index ee6bb5f..ec23fce 100644 --- a/.github/workflows/vllm_ascend_test.yaml +++ b/.github/workflows/vllm_ascend_test.yaml @@ -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: diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index e59921e..0000000 --- a/pytest.ini +++ /dev/null @@ -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