You've already forked DataMate
48 lines
1.9 KiB
YAML
48 lines
1.9 KiB
YAML
name: docker-push-to-huaweicloud-reusable.yml
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
version:
|
|
description: 'image version (e.g. latest or v0.0.1-beta)'
|
|
required: true
|
|
default: 'latest'
|
|
type: string
|
|
service_name:
|
|
description: 'image version (e.g. latest or v0.0.1-beta)'
|
|
required: true
|
|
default: 'latest'
|
|
type: string
|
|
secrets:
|
|
HUAWEI_CLOUD_SWR_LOGIN_PWD:
|
|
description: 'login pwd'
|
|
required: true
|
|
|
|
jobs:
|
|
retag-and-push:
|
|
name: Retag and Push to Huawei Cloud SWR
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Pull source image and retag (amd)
|
|
shell: bash
|
|
run: |
|
|
SOURCE_IMAGE=ghcr.io/modelengine-group/${{ inputs.service_name}}:${{ inputs.version}}
|
|
TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}}
|
|
docker pull "${SOURCE_IMAGE}"
|
|
docker tag "${SOURCE_IMAGE}" "${TARGET_IMAGE}"-amd
|
|
- name: Pull source image and retag (arm)
|
|
shell: bash
|
|
run: |
|
|
SOURCE_IMAGE=ghcr.io/modelengine-group/${{ inputs.service_name}}:${{ inputs.version}}
|
|
TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}}
|
|
docker pull "${SOURCE_IMAGE}" --platform=linux/arm64
|
|
docker tag "${SOURCE_IMAGE}" "${TARGET_IMAGE}"-arm
|
|
- name: Push image to Huawei SWR using
|
|
shell: bash
|
|
run: |
|
|
TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}}
|
|
echo "${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}}" | docker login swr.cn-east-3.myhuaweicloud.com --username=cn-east-3@HPUA3ZGOTQFAFMM59DB9 --password-stdin
|
|
docker push "${TARGET_IMAGE}"-amd
|
|
docker push "${TARGET_IMAGE}"-arm
|
|
docker manifest create "${TARGET_IMAGE}" "${TARGET_IMAGE}"-amd "${TARGET_IMAGE}"-arm
|
|
docker manifest push "${TARGET_IMAGE}"
|