### What this PR does / why we need it? This patch add per pr image build for branch `releases/v0.18.0`, Due to the limitations of the quay naming convention, we should not name the image tag the same as branch name, we name the image tag`releases-v0.18.0` for daily build. Signed-off-by: hfadzxy <starmoon_zhang@163.com>
97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
# This is a docker build check and publish job:
|
|
# 1. PR Triggered docker image build check
|
|
# - is for image build check
|
|
# - Enable on main/*-dev branch
|
|
# - push: ${{ github.event_name != 'pull_request' }} ==> false
|
|
# 2. branches push trigger image publish
|
|
# - is for branch/dev/nightly image
|
|
# - commits are merge into main/*-dev ==> vllm-ascend:main / vllm-ascend:*-dev
|
|
# 3. tags push trigger image publish
|
|
# - is for final release image
|
|
# - Publish when tag with v* (pep440 version) ===> vllm-ascend:v1.2.3 / vllm-ascend:v1.2.3rc1
|
|
name: Image Build and Push
|
|
on:
|
|
push:
|
|
# Publish image when tagging, the Dockerfile in tag will be build as tag image
|
|
branches:
|
|
- 'releases/*'
|
|
tags:
|
|
- 'v*'
|
|
paths:
|
|
- '.github/workflows/schedule_image_build_and_push.yaml'
|
|
- 'Dockerfile*'
|
|
- 'vllm_ascend/**'
|
|
- 'setup.py'
|
|
- 'pyproject.toml'
|
|
- 'requirements.txt'
|
|
- 'cmake/**'
|
|
- 'CMakeLists.txt'
|
|
- 'csrc/**'
|
|
pull_request:
|
|
branches:
|
|
- 'releases/*'
|
|
paths:
|
|
- '.github/workflows/schedule_image_build_and_push.yaml'
|
|
- 'Dockerfile*'
|
|
- 'vllm_ascend/**'
|
|
- 'setup.py'
|
|
- 'pyproject.toml'
|
|
- 'requirements.txt'
|
|
- 'cmake/**'
|
|
- 'CMakeLists.txt'
|
|
- 'csrc/**'
|
|
types: [ labeled, synchronize ]
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Docker tag for build results'
|
|
default: main
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- main
|
|
- v0.17.0rc1
|
|
- v0.16.0rc1
|
|
- v0.15.0rc1
|
|
- v0.14.0rc1
|
|
- v0.13.0rc3
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
image_build:
|
|
name: Image Build and Push
|
|
if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'image-build') }}
|
|
strategy:
|
|
matrix:
|
|
build_meta:
|
|
- name: A2 Ubuntu
|
|
dockerfile: Dockerfile
|
|
suffix: ''
|
|
- name: A2 openeuler
|
|
dockerfile: Dockerfile.openEuler
|
|
suffix: 'openeuler'
|
|
- name: A3 Ubuntu
|
|
dockerfile: Dockerfile.a3
|
|
suffix: 'a3'
|
|
- name: A3 openEuler
|
|
dockerfile: Dockerfile.a3.openEuler
|
|
suffix: 'a3-openeuler'
|
|
- name: 310P Ubuntu
|
|
dockerfile: Dockerfile.310p
|
|
suffix: '310p'
|
|
- name: 310P openEuler
|
|
dockerfile: Dockerfile.310p.openEuler
|
|
suffix: '310p-openeuler'
|
|
uses: ./.github/workflows/_schedule_image_build.yaml
|
|
with:
|
|
dockerfile: ${{ matrix.build_meta.dockerfile }}
|
|
suffix: ${{ matrix.build_meta.suffix }}
|
|
quay_username: ${{ vars.QUAY_USERNAME }}
|
|
should_push: ${{ github.repository_owner == 'vllm-project' && github.event_name == 'push'}}
|
|
workflow_dispatch_tag: ${{ inputs.tag }}
|
|
secrets:
|
|
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
|