### What this PR does / why we need it? Only enable single version for wheel pr build to speedup PR triggered CI ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? CI passed Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
103 lines
2.8 KiB
YAML
103 lines
2.8 KiB
YAML
#
|
|
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
# This file is a part of the vllm-ascend project.
|
|
#
|
|
|
|
name: build / wheel
|
|
|
|
on:
|
|
schedule:
|
|
# Runs at 23:00 UTC (7:00 AM Beijing) every day
|
|
- cron: '0 23 * * *'
|
|
pull_request:
|
|
branches:
|
|
- 'main'
|
|
- '*-dev'
|
|
paths:
|
|
- '.github/workflows/release_whl.yml'
|
|
- '.github/Dockerfile.buildwheel'
|
|
- 'vllm_ascend/**'
|
|
- 'setup.py'
|
|
- 'pyproject.toml'
|
|
- 'requirements.txt'
|
|
- 'cmake/**'
|
|
- '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:
|
|
name: build and release wheel
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-24.04, ubuntu-24.04-arm]
|
|
# PR only trigger latest version
|
|
python-version: ${{ fromJSON(
|
|
(github.event_name == 'pull_request' && '["3.11"]') ||
|
|
'["3.9", "3.10", "3.11"]'
|
|
) }}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Print
|
|
run: |
|
|
lscpu
|
|
|
|
- name: Build wheel
|
|
run: |
|
|
ls
|
|
docker build -f ./.github/Dockerfile.buildwheel \
|
|
--build-arg PY_VERSION=${{ matrix.python-version }} \
|
|
-t wheel:v1 .
|
|
docker run --rm \
|
|
-v $(pwd):/outpwd \
|
|
wheel:v1 \
|
|
bash -c "cp -r /workspace/vllm-ascend/dist /outpwd"
|
|
ls dist
|
|
|
|
- name: Archive wheel
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: vllm-ascend-${{ matrix.os }}-py${{ matrix.python-version }}-wheel
|
|
path: dist/*
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Release
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: |
|
|
python3 -m pip install twine
|
|
python3 -m twine upload --verbose dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
|