[CI] lint and ut use self_hosted runner (#5652)
### What this PR does / why we need it?
lint and ut use self_hosted runner
- vLLM version: v0.13.0
- vLLM main:
2f4e6548ef
---------
Signed-off-by: wangli <wangli858794774@gmail.com>
This commit is contained in:
2
.github/actionlint.yaml
vendored
2
.github/actionlint.yaml
vendored
@@ -19,3 +19,5 @@ self-hosted-runner:
|
|||||||
- linux-amd64-cpu-8
|
- linux-amd64-cpu-8
|
||||||
- linux-amd64-cpu-16
|
- linux-amd64-cpu-16
|
||||||
- linux-aarch64-a3-0
|
- linux-aarch64-a3-0
|
||||||
|
- linux-amd64-cpu-8-hk
|
||||||
|
- linux-amd64-cpu-16-hk
|
||||||
|
|||||||
37
.github/workflows/_pre_commit.yml
vendored
37
.github/workflows/_pre_commit.yml
vendored
@@ -12,15 +12,27 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-commit:
|
pre-commit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: linux-amd64-cpu-16-hk
|
||||||
|
container:
|
||||||
|
# Build it from https://github.com/nv-action/vllm-benchmarks/blob/main/Dockerfile
|
||||||
|
image: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-cpu
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io,direct
|
||||||
|
GITHUB_WORKSPACE: /__w/vllm-ascend/vllm-ascend
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout vllm-project/vllm-ascend repo
|
- name: Checkout vllm-project/vllm-ascend repo
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
||||||
with:
|
# With problem matchers in a container, the output of $GITHUB_WORKSPACE and ${{ github.workspace }} are different.
|
||||||
python-version: "3.11"
|
# So we will just copy it into the path ${{ github.workspace }}. see https://github.com/actions/runner/issues/2058
|
||||||
- run: echo "::add-matcher::.github/workflows/matchers/actionlint.json"
|
- name: cp problem matchers
|
||||||
- run: echo "::add-matcher::.github/workflows/matchers/mypy.json"
|
run: |
|
||||||
|
cp .github/workflows/matchers/actionlint.json "$RUNNER_TEMP/actionlint.json"
|
||||||
|
cp .github/workflows/matchers/mypy.json "$RUNNER_TEMP/mypy.json"
|
||||||
|
|
||||||
|
- run: echo "::add-matcher::$RUNNER_TEMP/actionlint.json"
|
||||||
|
- run: echo "::add-matcher::$RUNNER_TEMP/mypy.json"
|
||||||
|
|
||||||
- name: Checkout vllm-project/vllm repo
|
- name: Checkout vllm-project/vllm repo
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
@@ -30,13 +42,16 @@ jobs:
|
|||||||
- name: Install vllm
|
- name: Install vllm
|
||||||
working-directory: vllm-empty
|
working-directory: vllm-empty
|
||||||
run: |
|
run: |
|
||||||
pip install -r requirements/build.txt --extra-index-url https://download.pytorch.org/whl/cpu
|
VLLM_TARGET_DEVICE=empty python3 -m pip install . --extra-index https://download.pytorch.org/whl/cpu/
|
||||||
VLLM_TARGET_DEVICE=empty pip install .
|
|
||||||
- name: Install vllm-ascend dev
|
- name: Install vllm-ascend dev
|
||||||
run: |
|
run: |
|
||||||
|
git config --global --add safe.directory /__w/vllm-ascend/vllm-ascend
|
||||||
pip install -r requirements-dev.txt --extra-index-url https://download.pytorch.org/whl/cpu
|
pip install -r requirements-dev.txt --extra-index-url https://download.pytorch.org/whl/cpu
|
||||||
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
|
- name: Run pre-commit
|
||||||
env:
|
env:
|
||||||
|
PRE_COMMIT_COLOR: always
|
||||||
|
FORCE_COLOR: "1"
|
||||||
|
TERM: xterm-256color
|
||||||
SHELLCHECK_OPTS: "--exclude=SC2046,SC2006,SC2086" # Exclude SC2046, SC2006, SC2086 for actionlint
|
SHELLCHECK_OPTS: "--exclude=SC2046,SC2006,SC2086" # Exclude SC2046, SC2006, SC2086 for actionlint
|
||||||
with:
|
run: |
|
||||||
extra_args: --all-files --hook-stage manual
|
pre-commit run --all-files --hook-stage manual
|
||||||
|
|||||||
24
.github/workflows/pr_test_light.yaml
vendored
24
.github/workflows/pr_test_light.yaml
vendored
@@ -80,27 +80,25 @@ jobs:
|
|||||||
name: unit test
|
name: unit test
|
||||||
# only trigger unit test after lint passed and the change is e2e and ut related.
|
# only trigger unit test after lint passed and the change is e2e and ut related.
|
||||||
if: ${{ needs.lint.result == 'success' && (needs.changes.outputs.e2e_tracker == 'true' || needs.changes.outputs.ut_tracker == 'true') }}
|
if: ${{ needs.lint.result == 'success' && (needs.changes.outputs.e2e_tracker == 'true' || needs.changes.outputs.ut_tracker == 'true') }}
|
||||||
runs-on: ubuntu-22.04-arm
|
runs-on: linux-amd64-cpu-16-hk
|
||||||
container:
|
container:
|
||||||
# fixme: vllm-ascend install failed with 8.3.rc2 on github action
|
# fixme: vllm-ascend install failed with 8.3.rc2 on github action
|
||||||
image: quay.io/ascend/cann:8.2.rc2-910b-ubuntu22.04-py3.11
|
image: quay.nju.edu.cn/ascend/cann:8.2.rc2-910b-ubuntu22.04-py3.11
|
||||||
env:
|
env:
|
||||||
VLLM_LOGGING_LEVEL: ERROR
|
VLLM_LOGGING_LEVEL: ERROR
|
||||||
VLLM_USE_MODELSCOPE: True
|
VLLM_USE_MODELSCOPE: True
|
||||||
SOC_VERSION: ascend910b1
|
SOC_VERSION: ascend910b1
|
||||||
|
MAX_JOBS: 4
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
vllm_version: [2f4e6548efec402b913ffddc8726230d9311948d, v0.13.0]
|
vllm_version: [2f4e6548efec402b913ffddc8726230d9311948d, v0.13.0]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Free up disk space
|
|
||||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
|
||||||
with:
|
|
||||||
tool-cache: true
|
|
||||||
docker-images: false
|
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
|
sed -Ei 's@(ports|archive).ubuntu.com@cache-service.nginx-pypi-cache.svc.cluster.local:8081@g' /etc/apt/sources.list
|
||||||
|
pip config set global.index-url http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
|
||||||
|
pip config set global.trusted-host cache-service.nginx-pypi-cache.svc.cluster.local
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y python3-pip git vim wget net-tools gcc g++ cmake libnuma-dev curl gnupg2
|
apt-get install -y python3-pip git vim wget net-tools gcc g++ cmake libnuma-dev curl gnupg2
|
||||||
|
|
||||||
@@ -114,7 +112,7 @@ jobs:
|
|||||||
- name: Install vllm-project/vllm from source
|
- name: Install vllm-project/vllm from source
|
||||||
working-directory: ./vllm-empty
|
working-directory: ./vllm-empty
|
||||||
run: |
|
run: |
|
||||||
VLLM_TARGET_DEVICE=empty python3 -m pip install .
|
VLLM_TARGET_DEVICE=empty python3 -m pip install . --extra-index https://download.pytorch.org/whl/cpu/
|
||||||
python3 -m pip uninstall -y triton
|
python3 -m pip uninstall -y triton
|
||||||
|
|
||||||
- name: Checkout vllm-project/vllm-ascend repo
|
- name: Checkout vllm-project/vllm-ascend repo
|
||||||
@@ -123,9 +121,9 @@ jobs:
|
|||||||
- name: Install vllm-project/vllm-ascend
|
- name: Install vllm-project/vllm-ascend
|
||||||
run: |
|
run: |
|
||||||
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi
|
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/arm64-linux/devlib
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib
|
||||||
python3 -m pip install -r requirements-dev.txt
|
python3 -m pip install -v . --extra-index https://download.pytorch.org/whl/cpu/
|
||||||
python3 -m pip install -v .
|
python3 -m pip install -r requirements-dev.txt --extra-index https://download.pytorch.org/whl/cpu/
|
||||||
|
|
||||||
- name: Install Ascend toolkit & triton_ascend
|
- name: Install Ascend toolkit & triton_ascend
|
||||||
shell: bash -l {0}
|
shell: bash -l {0}
|
||||||
@@ -141,7 +139,7 @@ jobs:
|
|||||||
VLLM_WORKER_MULTIPROC_METHOD: spawn
|
VLLM_WORKER_MULTIPROC_METHOD: spawn
|
||||||
TORCH_DEVICE_BACKEND_AUTOLOAD: 0
|
TORCH_DEVICE_BACKEND_AUTOLOAD: 0
|
||||||
run: |
|
run: |
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/arm64-linux/devlib
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib
|
||||||
pytest -sv --cov --cov-report=xml:unittests-coverage.xml tests/ut \
|
pytest -sv --cov --cov-report=xml:unittests-coverage.xml tests/ut \
|
||||||
--ignore tests/ut/model_loader/netloader/test_netloader_elastic.py \
|
--ignore tests/ut/model_loader/netloader/test_netloader_elastic.py \
|
||||||
--ignore tests/ut/kv_connector/test_remote_prefill_lifecycle.py \
|
--ignore tests/ut/kv_connector/test_remote_prefill_lifecycle.py \
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ fi
|
|||||||
|
|
||||||
run_mypy() {
|
run_mypy() {
|
||||||
echo "Running mypy on $1"
|
echo "Running mypy on $1"
|
||||||
mypy --check-untyped-defs --follow-imports skip --python-version "${PYTHON_VERSION}" "$@"
|
mypy --follow-imports skip --python-version "${PYTHON_VERSION}" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
run_mypy vllm_ascend
|
run_mypy vllm_ascend
|
||||||
|
|||||||
Reference in New Issue
Block a user