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