redhat-actions / push-to-registry

GitHub Action to push a container image to an image registry.
https://github.com/marketplace/actions/push-to-registry
MIT License
97 stars 32 forks source link

[BUG] Unable to push images due to Podman/Docker incompatibility #99

Open strangiato opened 2 months ago

strangiato commented 2 months ago

Version

redhat-actions/push-to-registry@v2

Describe the bug

The base ubuntu images used in GitHub actions have updated to docker 26.1.3 which has bumped the client API version requirements for talking with the local docker daemon to 1.24.

That base ubuntu image is stuck on version 3.4.4 for Podman which uses the 1.22 docker client.

This causes the step in the action that attempts to copy images from the local docker registry to the podman registry to fail with the following error message:

podman pull docker-daemon:hello-world:latest
  Error: initializing source docker-daemon:hello-world:latest: loading image from docker engine: Error response from daemon: {"message":"client version 1.22 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version"}

A bug has been filed with the GitHub run images here:

https://github.com/actions/runner-images/issues/10225

Steps to reproduce, workflow links, screenshots

Use the example code in the main README.

Or the following to test the specific issue with the podman pull docker-daemon:

name: test

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: test docker-daemon
        run: |
          echo "Docker Version"
          docker version
          docker pull alpine:latest
          echo
          echo "Podman Version"
          podman version
          podman pull docker-daemon:alpine:latest

As a work around I was able to successfully get the action to work by downgrading docker to version 24 in an action. I have attempted to also upgrade the version to a newer version in the action but it does not appear anything newer than 3.4.4 is available in Ubuntu.

bodgit commented 2 months ago

@strangiato would you care to share how you downgraded Docker? I'm in the same situation where all of my builds have broken and downgrading Docker seems the easiest workaround for now...