From 5fde666c43398ffe958404ca99b759dc272677ab Mon Sep 17 00:00:00 2001 From: "chen, suyue" Date: Wed, 28 Aug 2024 09:24:57 +0800 Subject: [PATCH] enhance image publish action (#659) Signed-off-by: chensuyue --- .github/workflows/manual-docker-publish.yml | 34 ++++++++++++++------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/.github/workflows/manual-docker-publish.yml b/.github/workflows/manual-docker-publish.yml index 19626edaa..42e1da3c4 100644 --- a/.github/workflows/manual-docker-publish.yml +++ b/.github/workflows/manual-docker-publish.yml @@ -5,28 +5,28 @@ name: Examples publish docker image on manual event on: workflow_dispatch: inputs: - nodes: + node: default: "gaudi" description: "Hardware to run test" required: true type: string examples: - default: "ChatQnA" + default: "Translation" description: 'List of examples to test [AudioQnA,ChatQnA,CodeGen,CodeTrans,DocSum,FaqGen,SearchQnA,Translation]' required: true type: string - tag: - default: "latest" - description: "Tag to apply to images" - required: true - type: string - publish: + gmc: default: false - description: 'Publish images to docker hub' + description: 'Publish gmc images' required: false type: boolean + tag: + default: "v0.9" + description: "Tag to publish" + required: true + type: string publish_tags: - default: "latest,v1.0" + default: "latest,v0.9" description: 'Tag list apply to publish images' required: false type: string @@ -34,7 +34,7 @@ on: permissions: read-all jobs: get-image-list: - runs-on: ${{ inputs.node }} + runs-on: ubuntu-latest outputs: matrix: ${{ steps.scan-matrix.outputs.matrix }} steps: @@ -44,13 +44,20 @@ jobs: - name: Set Matrix id: scan-matrix run: | + pip install yq examples=($(echo ${{ inputs.examples }} | tr ',' ' ')) image_list=[] for example in ${examples[@]} do + echo ${example} images=$(cat ${{ github.workspace }}/${example}/docker/docker_build_compose.yaml | yq -r '.[]' | jq 'keys' | jq -c '.') image_list=$(echo ${image_list} | jq -s '.[0] + .[1] | unique' - <(echo ${images})) done + + if [ "${{ inputs.gmc }}" == "true" ]; then + image_list=$(echo ${image_list} | jq -c '. + ["gmcmanager","gmcrouter"]') + fi + echo $image_list echo "matrix=$(echo ${image_list} | jq -c '.')" >> $GITHUB_OUTPUT publish: @@ -60,6 +67,11 @@ jobs: image: ${{ fromJSON(needs.get-image-list.outputs.matrix) }} runs-on: "docker-build-${{ inputs.node }}" steps: + - uses: docker/login-action@v3.2.0 + with: + username: ${{ secrets.DOCKERHUB_USER }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Image Publish uses: opea-project/validation/actions/image-publish@main with: