Files
xc-llm-ascend/.github/workflows/schedule_nightly_image_build.yaml
zhangxinyuehfad 886756aea0 [Bugfix][CI] Fix aisbench installation to avoid Gitee authentication (#7536)
### What this PR does / why we need it?
- Pass GITEE_USERNAME (var) and GITEE_TOKEN (secret) as Docker build
  args in nightly image build so Dockerfile can authenticate to Gitee
- In Dockerfile.nightly.a2/a3, embed credentials into clone URL to
  avoid auth failure during `git clone`
- In single-node and multi-node PR test workflows, backup the
  pre-installed benchmark from the nightly image before wiping
  vllm-ascend, then restore it instead of re-cloning from Gitee,
  which is inaccessible from fork PR contexts

### Does this PR introduce _any_ user-facing change?

### How was this patch tested?

- vLLM version: v0.18.0
- vLLM main:
8b6325758c

Signed-off-by: hfadzxy <starmoon_zhang@163.com>
2026-03-23 20:16:51 +08:00

67 lines
2.2 KiB
YAML

name: Nightly Image Build Schedule
on:
schedule:
# UTC+8: 20pm, 23pm
- cron: '0 12,15 * * *'
workflow_dispatch:
# This workflow builds and pushes Docker images for nightly-ci
# It will be built base on the quay.io/ascend/vllm-ascend:main
# And have some customizations for nightly testing, pushing to Huawei Cloud SWR
jobs:
build-and-sync:
runs-on: ubuntu-22.04-arm
strategy:
matrix:
target: ['a2', 'a3']
outputs:
image-tag: ${{ steps.build-image.outputs.image-tag }}
steps:
- uses: actions/checkout@v6
- name: Show build target
run: |
echo "Building target: ${{ matrix.target }}"
- name: Login to Huawei Cloud SWR
id: login-swr
if: ${{ env.HW_USERNAME != '' && env.HW_TOKEN != '' }}
run: |
echo "${{ env.HW_TOKEN }}" | docker login -u "${{ env.HW_USERNAME }}" --password-stdin swr.cn-southwest-2.myhuaweicloud.com
env:
HW_USERNAME: ${{ secrets.HW_USERNAME }}
HW_TOKEN: ${{ secrets.HW_TOKEN }}
- name: Build image
id: build-image
env:
GITEE_USERNAME: ${{ vars.GITEE_USERNAME }}
GITEE_TOKEN: ${{ secrets.GITEE_TOKEN }}
run: |
TARGET="${{ matrix.target }}"
IMAGE_TAG="swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-${TARGET}"
echo "Building image: $IMAGE_TAG"
docker build \
--network host \
--platform linux/arm64 \
-f .github/workflows/dockerfiles/Dockerfile.nightly.${TARGET} \
--build-arg CANN_VERSION="8.5.1" \
--build-arg UBUNTU_VERSION="22.04" \
--build-arg PYTHON_VERSION="3.11" \
--build-arg GITEE_USERNAME="${GITEE_USERNAME}" \
--build-arg GITEE_TOKEN="${GITEE_TOKEN}" \
-t "$IMAGE_TAG" .
echo "image-tag=$IMAGE_TAG" >> $GITHUB_OUTPUT
# To avoid pushing images from forks, only push when the repository owner is 'vllm-project'
- name: Push image to SWR
if: ${{ github.repository_owner == 'vllm-project' && steps.login-swr.conclusion == 'success' }}
run: |
docker push ${{ steps.build-image.outputs.image-tag }}