### What this PR does / why we need it? There was a bug when we release v0.8.4rc1 (openEuler image tag was wrong set to 0.8.4rc1), according doc of docker-meta-action, it should be append suffix: ``` tags: | type=pep440,enable=true,priority=900,prefix=,suffix=,pattern=,value= ``` This patch just fix openEuler image suffix to make pep440 tag rule work. This patch also remove the cache step because the cache step bring more than 10mins export, but reduce less time in next trigger. ### Does this PR introduce _any_ user-facing change? Yes, docker image tag set to right ### How was this patch tested? I test with in my fork repo by setting default branch: - release a tag: v0.7.88rc1 (pep440 tag) - The log show `--label org.opencontainers.image.version=v0.7.88rc1-openeuler` is right rule https://github.com/Yikun/vllm-ascend/actions/runs/14560411481/job/40842950165#step:9:205 Related: https://github.com/vllm-project/vllm-ascend/pull/489 Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
97 lines
3.1 KiB
YAML
97 lines
3.1 KiB
YAML
name: 'image'
|
|
# 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|latest / vllm-ascend:v1.2.3rc1
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- 'main'
|
|
- '*-dev'
|
|
paths:
|
|
- '.github/workflows/image_ubuntu.yml'
|
|
- 'Dockerfile'
|
|
- 'vllm_ascend/**'
|
|
push:
|
|
# Publish image when tagging, the Dockerfile in tag will be build as tag image
|
|
branches:
|
|
- 'main'
|
|
- '*-dev'
|
|
tags:
|
|
- 'v*'
|
|
paths:
|
|
- '.github/workflows/image_ubuntu.yml'
|
|
- 'Dockerfile'
|
|
- 'vllm_ascend/**'
|
|
jobs:
|
|
|
|
build:
|
|
name: vllm-ascend Ubuntu image
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Print
|
|
run: |
|
|
lscpu
|
|
|
|
- name: Docker meta
|
|
id: meta
|
|
uses: docker/metadata-action@v5
|
|
with:
|
|
# TODO(yikun): add more hub image and a note on release policy for container image
|
|
images: |
|
|
quay.io/ascend/vllm-ascend
|
|
# Note for test case
|
|
# https://github.com/marketplace/actions/docker-metadata-action#typeref
|
|
# 1. branch job pulish per main/*-dev branch commits
|
|
# 2. main and dev pull_request is build only, so the tag pr-N is fine
|
|
# 3. only pep440 matched tag will be published:
|
|
# - v0.7.1 --> v0.7.1, latest
|
|
# - pre/post/dev: v0.7.1rc1/v0.7.1rc1/v0.7.1rc1.dev1/v0.7.1.post1, no latest
|
|
# which follow the rule from vLLM with prefix v
|
|
# TODO(yikun): the post release might be considered as latest release
|
|
tags: |
|
|
type=ref,event=branch
|
|
type=ref,event=pr
|
|
type=pep440,pattern={{raw}}
|
|
|
|
- name: Free up disk space
|
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
|
with:
|
|
tool-cache: true
|
|
docker-images: false
|
|
|
|
- name: Build - Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Build - Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Publish - Login to Quay Container Registry
|
|
if: ${{ github.event_name == 'push' && github.repository_owner == 'vllm-project' }}
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: quay.io
|
|
username: ${{ vars.QUAY_USERNAME }}
|
|
password: ${{ secrets.QUAY_PASSWORD }}
|
|
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
platforms: linux/amd64,linux/arm64
|
|
# only trigger when tag, branch/main push
|
|
push: ${{ github.event_name == 'push' && github.repository_owner == 'vllm-project' }}
|
|
labels: ${{ steps.meta.outputs.labels }}
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
build-args: |
|
|
PIP_INDEX_URL=https://pypi.org/simple
|