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.24k stars 541 forks source link

caching with gha fails in Post Run with ```Error: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')``` #919

Closed chasekapler-coco closed 1 year ago

chasekapler-coco commented 1 year ago

Troubleshooting

Thank you for taking a look at this! Please let me know if you need more information

Behaviour

Steps to reproduce this issue

  1. Run the yaml in a github action a couple of times (seems to work fine before anything is cached)

Expected behaviour

Should build and push image, and clean up correctly

Actual behaviour

Builds successfully, but Post run fails

Configuration

runs:
  using: 'composite'
  steps:
    - uses: actions/checkout@v3
      with:
        ref: ${{ inputs.sha }}
    - name: aws creds
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-access-key-id: ${{ inputs.access_key_id }}
        aws-secret-access-key: ${{ inputs.secret_access_key }}
        aws-region: ${{ inputs.region }}

    - name: ecr login
      id: ecr-login
      uses: aws-actions/amazon-ecr-login@v1

    - name: buildx
      id: buildx
      uses: docker/setup-buildx-action@v2

    - name: select dockerfile
      id: select-dockerfile
      shell: bash
      run: |
        echo "DOCKERFILE=$(
          DEFAULT_DOCKERFILE_PATH=service.Dockerfile
          LOCAL_DOCKERFILE_PATH=service/${{ inputs.service }}/Dockerfile
          if [ -f $LOCAL_DOCKERFILE_PATH ]; then echo $LOCAL_DOCKERFILE_PATH; else echo $DEFAULT_DOCKERFILE_PATH; fi
        )" >> $GITHUB_OUTPUT

    - name: build ${{ inputs.service }}
      uses: docker/build-push-action@v4
      with:
        push: true
        context: .
        file: ${{ steps.select-dockerfile.outputs.DOCKERFILE }}
        build-args: |
          service=${{ inputs.service }}
        tags: |
          ${{ steps.ecr-login.outputs.registry }}/coco-ecr-${{ inputs.service }}:${{ inputs.sha }}
        cache-from: type=gha
        cache-to: type=gha,mode=max

Logs

2023-08-03T16:58:07.1995352Z #28 exporting to GitHub Actions Cache 2023-08-03T16:58:55.4517158Z #28 preparing build cache for export 2023-08-03T16:58:55.4517632Z #28 writing layer sha256:1a72b3e22379946ef1f33bee415048e904d7248d8b11876836997b745483a25f 2023-08-03T16:59:06.7188723Z #28 writing layer sha256:1a72b3e22379946ef1f33bee415048e904d7248d8b11876836997b745483a25f 11.3s done 2023-08-03T16:59:06.7189384Z #28 writing layer sha256:1ef702170eb5ffaf9cc5e36de23e6998fa9d16a976fb488fb5ac1f3994f19dd6 2023-08-03T16:59:07.0194666Z #28 writing layer sha256:1ef702170eb5ffaf9cc5e36de23e6998fa9d16a976fb488fb5ac1f3994f19dd6 0.2s done 2023-08-03T16:59:07.0195668Z #28 writing layer sha256:1f5e4e900736b48e115cc0645cdb9fef4d8b77cc71dccf7253dcf8e2bcddd287 2023-08-03T16:59:09.7154934Z #28 writing layer sha256:1f5e4e900736b48e115cc0645cdb9fef4d8b77cc71dccf7253dcf8e2bcddd287 2.8s done 2023-08-03T16:59:10.0164186Z #28 writing layer sha256:5664e6d77c3c6a273020b2e4a6427f176ced5d5639596eba6fdc91acbce0c8a4 2023-08-03T16:59:10.1668948Z #28 writing layer sha256:5664e6d77c3c6a273020b2e4a6427f176ced5d5639596eba6fdc91acbce0c8a4 0.2s done 2023-08-03T16:59:10.3167650Z #28 writing layer sha256:7a56d09ba3d611cf04366361fe8279710b557bb44bdd6cc68b5abf601fe1a052 2023-08-03T16:59:18.3883830Z #28 writing layer sha256:7a56d09ba3d611cf04366361fe8279710b557bb44bdd6cc68b5abf601fe1a052 8.1s done 2023-08-03T16:59:18.5392602Z #28 writing layer sha256:848b347a6d82f9d7bb31be6ea42f515e072ff15e4c545e350ea9ac63efc0fd1b 2023-08-03T16:59:18.8154056Z #28 writing layer sha256:848b347a6d82f9d7bb31be6ea42f515e072ff15e4c545e350ea9ac63efc0fd1b 0.3s done 2023-08-03T16:59:18.8155028Z #28 writing layer sha256:8df92587cd02524d779c2ff3553f721045fbb3e250229571cda0199dffd56ab8 2023-08-03T16:59:21.6743821Z #28 writing layer sha256:8df92587cd02524d779c2ff3553f721045fbb3e250229571cda0199dffd56ab8 2.8s done 2023-08-03T16:59:21.6744423Z #28 writing layer sha256:9084458aa220ac00d0ed1bf568f9a160622c7b0f293a32b9271adea1d6f5771b 2023-08-03T16:59:23.1301695Z #28 writing layer sha256:9084458aa220ac00d0ed1bf568f9a160622c7b0f293a32b9271adea1d6f5771b 1.5s done 2023-08-03T16:59:23.4315581Z #28 writing layer sha256:a78d97ef3ee7bbbfbe686bd464f5a6ead49ea584180e671572802e576a7c309f 2023-08-03T16:59:23.5823427Z #28 writing layer sha256:a78d97ef3ee7bbbfbe686bd464f5a6ead49ea584180e671572802e576a7c309f 0.2s done 2023-08-03T16:59:23.7334939Z #28 writing layer sha256:e93145c3aa84e1581ba17c9a7de5a950d2e2c27805005bc6ce6183704feef702 2023-08-03T16:59:23.8846542Z #28 writing layer sha256:e93145c3aa84e1581ba17c9a7de5a950d2e2c27805005bc6ce6183704feef702 0.2s done 2023-08-03T16:59:24.1010043Z #28 preparing build cache for export 76.9s done 2023-08-03T16:59:24.1010530Z #28 DONE 76.9s 2023-08-03T16:59:24.1084798Z ##[group]ImageID 2023-08-03T16:59:24.1085231Z sha256:312cad52aa8d2193560cc7bba5df1ce8ccc177ef2b22dd87d3dd4b4c0295ce28 2023-08-03T16:59:24.1086402Z ##[endgroup] 2023-08-03T16:59:24.1087597Z ##[group]Digest 2023-08-03T16:59:24.1089290Z sha256:485bda79cdb4bc2802a70a9663205dea8f4ee201046974b2024abf3dca2a5aad 2023-08-03T16:59:24.1112469Z ##[endgroup] 2023-08-03T16:59:24.1124448Z ##[group]Metadata 2023-08-03T16:59:24.1124744Z { 2023-08-03T16:59:24.1125223Z "containerimage.config.digest": "sha256:312cad52aa8d2193560cc7bba5df1ce8ccc177ef2b22dd87d3dd4b4c0295ce28", 2023-08-03T16:59:24.1126038Z "containerimage.descriptor": { 2023-08-03T16:59:24.1126480Z "mediaType": "application/vnd.docker.distribution.manifest.v2+json", 2023-08-03T16:59:24.1131979Z "digest": "sha256:485bda79cdb4bc2802a70a9663205dea8f4ee201046974b2024abf3dca2a5aad", 2023-08-03T16:59:24.1132831Z "size": 2069, 2023-08-03T16:59:24.1133177Z "platform": { 2023-08-03T16:59:24.1133450Z "architecture": "amd64", 2023-08-03T16:59:24.1133712Z "os": "linux" 2023-08-03T16:59:24.1133940Z } 2023-08-03T16:59:24.1134162Z }, 2023-08-03T16:59:24.1134566Z "containerimage.digest": "sha256:485bda79cdb4bc2802a70a9663205dea8f4ee201046974b2024abf3dca2a5aad", 2023-08-03T16:59:24.1135679Z "image.name": "***" 2023-08-03T16:59:24.1136066Z } 2023-08-03T16:59:24.1136541Z ##[endgroup] 2023-08-03T16:59:24.1273883Z ##[error]Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')