Files
xc-llm-ascend/.github/workflows/schedule_image_build_and_push.yaml
zhangxinyuehfad 124bb00158 [CI][v0.18.0] Build nightly image for releases/v0.18.0 per pr (#7662)
### 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>
2026-03-26 16:48:51 +08:00

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 }}