docker / build-push-action

GitHub Action to build and push Docker images with Buildx
https://github.com/marketplace/actions/build-and-push-docker-images
Apache License 2.0
4.28k stars 550 forks source link

AWS ECR push problems #850

Closed samuelverstraete closed 1 year ago

samuelverstraete commented 1 year ago

Troubleshooting

Before submitting a bug report please read the Troubleshooting doc.

Behaviour

Steps to reproduce this issue

I'm using this build-push-action to try to push to amazon ecr. for steps just see the workflow i guess?

Expected behaviour

Tell us what should happen I would like the image to get pushed in to the ECR repo

Actual behaviour

Tell us what happens instead the push gives me the following errors:

#12 exporting to image
#12 0.643 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 0.643 retrying in 1s
#12 0.645 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 0.645 retrying in 1s
#12 0.649 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 0.649 retrying in 1s
#12 0.758 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 0.758 retrying in 1s
#12 0.804 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 0.804 retrying in 1s
#12 1.041 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.041 retrying in 1s
#12 1.046 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.046 retrying in 1s
#12 1.048 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.048 retrying in 1s
#12 1.050 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.050 retrying in 1s
#12 1.279 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.279 retrying in 1s
#12 1.291 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.291 retrying in 1s
#12 1.297 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.297 retrying in 1s
#12 1.298 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.298 retrying in 1s
#12 1.638 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.638 retrying in 1s
#12 1.678 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 1.678 retrying in 1s
#12 2.039 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.039 retrying in 2s
#12 2.047 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.047 retrying in 2s
#12 2.062 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.062 retrying in 2s
#12 2.144 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.144 retrying in 2s
#12 2.160 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.160 retrying in 2s
#12 2.310 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.310 retrying in 2s
#12 2.314 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.314 retrying in 2s
#12 2.381 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.381 retrying in 2s
#12 2.396 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.396 retrying in 2s
#12 2.556 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.556 retrying in 2s
#12 2.586 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.586 retrying in 2s
#12 2.668 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.668 retrying in 2s
#12 2.677 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.677 retrying in 2s
#12 2.877 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.877 retrying in 2s
#12 2.922 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 2.922 retrying in 2s
#12 4.299 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.299 retrying in 4s
#12 4.405 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.405 retrying in 4s
#12 4.433 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.433 retrying in 4s
#12 4.536 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.536 retrying in 4s
#12 4.548 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.548 retrying in 4s
#12 4.679 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.679 retrying in 4s
#12 4.681 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.681 retrying in 4s
#12 4.777 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.777 retrying in 4s
#12 4.795 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.795 retrying in 4s
#12 4.937 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.937 retrying in 4s
#12 4.937 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 4.937 retrying in 4s
#12 5.010 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.010 retrying in 4s
#12 5.036 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.036 retrying in 4s
#12 5.304 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.304 retrying in 4s
#12 5.304 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.304 retrying in 4s
#12 8.594 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 pushing layers 9.3s done
#12 ERROR: failed to push ***.dkr.ecr.***.amazonaws.com/helm-doc/1.0.0: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
------
 > exporting to image:
#12 4.937 retrying in 4s
#12 5.010 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.010 retrying in 4s
#12 5.036 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.036 retrying in 4s
#12 5.304 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.304 retrying in 4s
#12 5.304 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
#12 5.304 retrying in 4s
#12 8.594 error: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
------
ERROR: failed to solve: failed to push ***.dkr.ecr.***.amazonaws.com/helm-doc/1.0.0: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF
Error: buildx failed with: ERROR: failed to solve: failed to push ***.dkr.ecr.***.amazonaws.com/helm-doc/1.0.0: failed to do request: Post "https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/": EOF

Configuration

name: Build docker image to build documentation
on: 
  workflow_dispatch:
jobs:
  docker:
    runs-on: 
      labels: our-own-runners-label
    environment: development
    steps:
      -
        name: Checkout
        uses: actions/checkout@v3
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
        with:
          buildkitd-flags: --debug
      - 
        name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v2
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ${{ secrets.AWS_REGION }}
      -  
        name: Login to ECR
        uses: docker/login-action@v2
        with:
          registry: xxxxx.dkr.ecr.us-east-1.amazonaws.com
      - 
        name: Build and push
        uses: docker/build-push-action@v3
        with:
          context: documentation/
          push: true
          tags: xxxxx.dkr.ecr.us-east-1.amazonaws.com/helm-doc/1.0.0
          cache-from: type=gha
          cache-to: type=gha,mode=max

Logs

I enabled the debug buildx stuff and all i have is:

BuildKit container logs
  /usr/bin/docker logs buildx_buildkit_builder-1b6e5a10-55ce-43ec-85e2-b93cfc476b6a0
  time="2023-03-28T16:26:20Z" level=info msg="auto snapshotter: using overlayfs"
  time="2023-03-28T16:26:20Z" level=warning msg="using host network as the default"
  time="2023-03-28T16:26:20Z" level=info msg="found worker \"w5kp23krj5y2g7n3fx5wx9gnl\", labels=map[org.mobyproject.buildkit.worker.executor:oci org.mobyproject.buildkit.worker.hostname:612da31cc239 org.mobyproject.buildkit.worker.network:host org.mobyproject.buildkit.worker.oci.process-mode:sandbox org.mobyproject.buildkit.worker.selinux.enabled:false org.mobyproject.buildkit.worker.snapshotter:overlayfs], platforms=[linux/amd64 linux/amd64/v2 linux/amd64/v3 linux/386]"
  time="2023-03-28T16:26:20Z" level=warning msg="skipping containerd worker, as \"/run/containerd/containerd.sock\" does not exist"
  time="2023-03-28T16:26:20Z" level=info msg="found 1 workers, default=\"w5kp23krj5y2g7n3fx5wx9gnl\""
  time="2023-03-28T16:26:20Z" level=warning msg="currently, only the default worker can be used."
  time="2023-03-28T16:26:20Z" level=info msg="running server on /run/buildkit/buildkitd.sock"
  time="2023-03-28T16:26:35Z" level=error msg="/moby.buildkit.v1.Control/Solve returned error: rpc error: code = Unknown desc = failed to push ***.dkr.ecr.***.amazonaws.com/helm-doc/1.0.0: failed to do request: Post \"https://***.dkr.ecr.***.amazonaws.com/v2/helm-doc/1.0.0/blobs/uploads/\": EOF"
  ::endgroup::
::group::Removing builder

Download the log file of your build and attach it to this issue. I hope the logs i copy pasted in the ticket are sufficient.

devsprint commented 1 year ago

I'm experimenting same issue. Docker image it is arriving in ECR, but without tag (<untagged>).

cemo commented 1 year ago

I have same issue.

crazy-max commented 1 year ago

@samuelverstraete Does it work with provenance disabled?:

      - 
        name: Build and push
        uses: docker/build-push-action@v3
        with:
          context: documentation/
          push: true
          tags: xxxxx.dkr.ecr.us-east-1.amazonaws.com/helm-doc/1.0.0
          cache-from: type=gha
          cache-to: type=gha,mode=max
          provenance: false
samuelverstraete commented 1 year ago

I was pretty sure i tried this the previous time as well and it was not working back then... but now it is working... My full pipeline:

name: Build docker image to build documentation
on: 
  workflow_dispatch:
jobs:
  doc-build:
    runs-on: 
      labels: our-own-runners-label
    environment: development
    steps:
      -
        name: Checkout
        uses: actions/checkout@v3
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
        with:
          buildkitd-flags: --debug
      -  
        name: Login to ECR
        uses: docker/login-action@v2
        with:
          registry: xxx.dkr.ecr.us-east-1.amazonaws.com
          username: ${{ secrets.AWS_ACCESS_KEY_ID }}
          password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      -
        name: Build and push docker image
        uses: docker/build-push-action@v3
        with:
          context: documentation/
          push: true
          tags: xxx.dkr.ecr.us-east-1.amazonaws.com/helm-doc:1.0.0
          cache-from: type=gha
          cache-to: type=gha,mode=max
          provenance: false