Skip to content

[Feature] Add v1 sampling context foundation #13666

[Feature] Add v1 sampling context foundation

[Feature] Add v1 sampling context foundation #13666

# 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:
schedule:
# UTC+8: 12pm, 21pm
- cron: '0 4,13 * * *'
push:
tags:
- 'v*'
pull_request:
branches:
- 'main'
- 'releases/*'
types: [ labeled, synchronize ]
workflow_dispatch:
inputs:
tag:
description: 'Docker tag for build results (mutually exclusive with branch)'
default: "none"
required: false
type: choice
options:
- main
- v0.19.1rc1
- v0.18.0
- v0.18.0rc1
- v0.17.0rc1
- v0.16.0rc1
- v0.15.0rc1
- v0.14.0rc1
- v0.13.0
- v0.13.0rc3
- none
branch:
description: 'Docker branch for build results (mutually exclusive with tag)'
default: "none"
required: false
type: choice
options:
- main
- releases/v0.18.0
- releases/v0.13.0
- none
permissions:
packages: write
contents: read
jobs:
image_build:
name: Image Build and Push
if: ${{ (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'image-build')) && github.event_name != 'schedule' }}
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 != 'pull_request') }}
workflow_dispatch_tag: ${{ inputs.tag != 'none' && inputs.tag || '' }}
branch_ref: ${{ inputs.branch != 'none' && inputs.branch || '' }}
secrets:
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
schedule_image_build:
name: Image Build and Push
if: ${{ github.event_name == 'schedule' }}
strategy:
max-parallel: 6
matrix:
branch_meta:
- branch_ref: main
schedule_tag_pattern: main
artifact_prefix: digests
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 != 'pull_request') }}
workflow_dispatch_tag: ${{ inputs.tag != 'none' && inputs.tag || '' }}
branch_ref: ${{ matrix.branch_meta.branch_ref }}
schedule_tag_pattern: ${{ matrix.branch_meta.schedule_tag_pattern }}
artifact_prefix: ${{ matrix.branch_meta.artifact_prefix }}
secrets:
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}