From 9c5fad51663626360d5975b2faabbf61ab79b968 Mon Sep 17 00:00:00 2001 From: Romeo Dumitrescu Date: Fri, 25 Aug 2023 23:30:46 +0300 Subject: [PATCH] Fix pipelines for new docker CLI --- .github/workflows/pipeline.yaml | 37 ++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 07944c5..24da77b 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -25,12 +25,6 @@ jobs: - name: tools - helm - install uses: azure/setup-helm@v1 - - name: tools - docker - login - uses: docker/login-action@v1 - with: - username: ${{ secrets.ES_DOCKERHUB_USERNAME }} - password: ${{ secrets.ES_DOCKERHUB_PAT }} - - name: checkout uses: actions/checkout@v2 @@ -50,18 +44,37 @@ jobs: name: helm path: .artifacts/helm + - name: "docker - build PR" + if: github.event_name == 'pull_request' + run: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker buildx create --name builder --driver docker-container --use + docker buildx inspect --bootstrap + docker buildx build --platform linux/amd64 -t ${{env.imageRepository}}:build-${{env.version}}-amd64 -f src/ES.SFTP/Dockerfile src/ + docker buildx build --platform linux/arm -t ${{env.imageRepository}}:build-${{env.version}}-arm32v7 -f src/ES.SFTP/Dockerfile src/ + docker buildx build --platform linux/arm64 -t ${{env.imageRepository}}:build-${{env.version}}-arm64v8 -f src/ES.SFTP/Dockerfile src/ + + - name: tools - docker - login + if: github.event_name == 'push' + uses: docker/login-action@v1 + with: + username: ${{ secrets.ES_DOCKERHUB_USERNAME }} + password: ${{ secrets.ES_DOCKERHUB_PAT }} + + - name: "docker - build and publish" + if: github.event_name == 'push' run: | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker buildx create --name builder --driver docker-container --use docker buildx inspect --bootstrap - docker buildx build --push --platform linux/amd64 -t ${{env.imageRepository}}:build-${{env.version}}-amd64 -f src/ES.SFTP/Dockerfile src/ - docker buildx build --push --platform linux/arm -t ${{env.imageRepository}}:build-${{env.version}}-arm32v7 -f src/ES.SFTP/Dockerfile src/ - docker buildx build --push --platform linux/arm64 -t ${{env.imageRepository}}:build-${{env.version}}-arm64v8 -f src/ES.SFTP/Dockerfile src/ - docker pull ${{env.imageRepository}}:build-${{env.version}}-amd64 - docker pull ${{env.imageRepository}}:build-${{env.version}}-arm32v7 - docker pull ${{env.imageRepository}}:build-${{env.version}}-arm64v8 + docker buildx build --push --platform linux/amd64 --provenance=false -t ${{env.imageRepository}}:build-${{env.version}}-amd64 -f src/ES.SFTP/Dockerfile src/ + docker buildx build --push --platform linux/arm --provenance=false -t ${{env.imageRepository}}:build-${{env.version}}-arm32v7 -f src/ES.SFTP/Dockerfile src/ + docker buildx build --push --platform linux/arm64 --provenance=false -t ${{env.imageRepository}}:build-${{env.version}}-arm64v8 -f src/ES.SFTP/Dockerfile src/ + docker pull --platform linux/amd64 ${{env.imageRepository}}:build-${{env.version}}-amd64 + docker pull --platform linux/arm/v7 ${{env.imageRepository}}:build-${{env.version}}-arm32v7 + docker pull --platform linux/arm64 ${{env.imageRepository}}:build-${{env.version}}-arm64v8 docker manifest create ${{env.imageRepository}}:build-${{env.version}} ${{env.imageRepository}}:build-${{env.version}}-amd64 ${{env.imageRepository}}:build-${{env.version}}-arm32v7 ${{env.imageRepository}}:build-${{env.version}}-arm64v8 docker manifest inspect ${{env.imageRepository}}:build-${{env.version}} docker manifest push ${{env.imageRepository}}:build-${{env.version}}