diff --git a/.github/workflows/publish-builder.yaml b/.github/workflows/publish-builder.yaml index 0a89a5f9e0..d991b4c387 100644 --- a/.github/workflows/publish-builder.yaml +++ b/.github/workflows/publish-builder.yaml @@ -50,7 +50,16 @@ jobs: id: extracter run: | echo "::set-output name=version::$(date +%Y%m%d)" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=sha_short::$(git rev-parse --short=7 HEAD)" + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + milvusdb/milvus-env + tags: | + type=raw,enable=true,value=${{ matrix.os }}-{{date 'YYYYMMDD'}}-{{sha}} + type=raw,enable=true,value=${{ matrix.os }}-latest # - name: Setup upterm session # uses: lhotari/action-upterm@v1 - name: Set up QEMU @@ -59,25 +68,24 @@ jobs: platforms: arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Docker Build - if: success() && github.event_name == 'pull_request' && github.repository == 'milvus-io/milvus' - shell: bash - run: | - docker buildx ls - docker buildx build --platform linux/amd64,linux/arm64 -t milvusdb/milvus-env:${OS_NAME}-${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} -f build/docker/builder/cpu/${OS_NAME}/Dockerfile . - - name: Docker Build&Push - if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' - shell: bash - run: | - docker buildx ls - docker login -u ${{ secrets.DOCKERHUB_USER }} \ - -p ${{ secrets.DOCKERHUB_TOKEN }} - docker buildx build --platform linux/amd64,linux/arm64 --push -t milvusdb/milvus-env:${OS_NAME}-${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} -f build/docker/builder/cpu/${OS_NAME}/Dockerfile . - docker buildx build --platform linux/amd64,linux/arm64 --push -t milvusdb/milvus-env:${OS_NAME}-latest -f build/docker/builder/cpu/${OS_NAME}/Dockerfile . + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USER }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + file: build/docker/builder/cpu/${{ matrix.os }}/Dockerfile - name: Bump Builder Version uses: ./.github/actions/bump-builder-version if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' && matrix.os == 'ubuntu20.04' with: tag: "${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}" type: cpu - token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }} \ No newline at end of file + token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }} diff --git a/.github/workflows/publish-gpu-builder.yaml b/.github/workflows/publish-gpu-builder.yaml index 2587457b8f..a8dad78a3c 100644 --- a/.github/workflows/publish-gpu-builder.yaml +++ b/.github/workflows/publish-gpu-builder.yaml @@ -50,33 +50,38 @@ jobs: id: extracter run: | echo "::set-output name=version::$(date +%Y%m%d)" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=sha_short::$(git rev-parse --short=7 HEAD)" + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + milvusdb/milvus-env + tags: | + type=raw,enable=true,value=${{ matrix.os }}-{{date 'YYYYMMDD'}}-{{sha}} + type=raw,enable=true,value=${{ matrix.os }}-latest # - name: Setup upterm session # uses: lhotari/action-upterm@v1 - - name: Docker Build - if: success() && github.event_name == 'pull_request' && github.repository == 'milvus-io/milvus' - shell: bash - run: | - docker info - docker build -t milvusdb/milvus-env:gpu-${OS_NAME}-${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} -f build/docker/builder/gpu/${OS_NAME}/Dockerfile . - - name: Docker Build&Push - if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' - shell: bash - run: | - docker info - docker login -u ${{ secrets.DOCKERHUB_USER }} \ - -p ${{ secrets.DOCKERHUB_TOKEN }} - # Building the first image - docker build -t milvusdb/milvus-env:gpu-${OS_NAME}-${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} -f build/docker/builder/gpu/${OS_NAME}/Dockerfile . - docker push milvusdb/milvus-env:gpu-${OS_NAME}-${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} - - # Building the second image - docker build -t milvusdb/milvus-env:gpu-${OS_NAME}-latest -f build/docker/builder/gpu/${OS_NAME}/Dockerfile . - docker push milvusdb/milvus-env:gpu-${OS_NAME}-latest + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USER }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + file: build/docker/builder/gpu/${{ matrix.os }}/Dockerfile - name: Bump Builder Version if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' && matrix.os == 'ubuntu20.04' uses: ./.github/actions/bump-builder-version with: tag: "${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}" type: gpu - token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }} \ No newline at end of file + token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }}