docker / setup-buildx-action

GitHub Action to set up Docker Buildx
https://github.com/marketplace/actions/docker-setup-buildx
Apache License 2.0
905 stars 142 forks source link

Does not work with podman #294

Closed hasufell closed 1 month ago

hasufell commented 5 months ago

Contributing guidelines

I've found a bug, and:

Description

Fails to execute on a privately hosted runner that has latest podman installed:

https://github.com/haskell/ghcup-hs/actions/runs/7707962171/job/21006371122#step:5:179

Creating a new builder instance
  /usr/bin/docker buildx create --name builder-2c6f814d-5ebd-4b56-9713-6a5544db6561 --driver docker-container --buildkitd-flags --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host --use
  Error: unknown flag: --name
  See 'podman buildx --help'

Expected behaviour

Works with podman.

Actual behaviour

Does not work with podman.

Repository URL

No response

Workflow run URL

No response

YAML workflow

name: Docker image builds

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *'

jobs:
  docker-alpine32:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build and push (alpine 32bit)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/alpine32
          push: true
          tags: hasufell/i386-alpine-haskell:3.12
          platforms: |
            linux/i386
            linux/amd64

  docker-alpine:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - name: Build and push (alpine 64bit)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/alpine64
          push: true
          tags: hasufell/alpine-haskell:3.12
          platforms: linux/amd64

  docker-arm32:
    runs-on: [self-hosted, Linux, ARM64]
    steps:
      - uses: docker://arm64v8/ubuntu:focal
        name: Cleanup (aarch64 linux)
        continue-on-error: true
        with:
          args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"

      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Build and push (debian buster)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/arm32v7/buster
          push: true
          tags: hasufell/arm32v7-debian-haskell:10
          platforms: linux/arm

      - name: Build and push (ubuntu focal)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/arm32v7/focal
          push: true
          tags: hasufell/arm32v7-ubuntu-haskell:focal
          platforms: linux/arm

  docker-aarch:
    runs-on: [self-hosted, Linux, ARM64]
    steps:
      - uses: docker://arm64v8/ubuntu:focal
        name: Cleanup (aarch64 linux)
        continue-on-error: true
        with:
          args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"

      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Build and push (debian buster)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/arm64v8/buster
          push: true
          tags: hasufell/arm64v8-debian-haskell:10
          platforms: linux/arm64

      - name: Build and push (ubuntu focal)
        uses: docker/build-push-action@v3
        with:
          context: ./docker/arm64v8/focal
          push: true
          tags: hasufell/arm64v8-ubuntu-haskell:focal
          platforms: linux/arm64

Workflow logs

https://github.com/haskell/ghcup-hs/actions/runs/7707962171/job/21006371122#step:5:179

BuildKit logs

No response

Additional info

No response

TomNgan commented 1 month ago

Same problem here. @hasufell , do you have any suggestion or solution? let me know if any. Thanks!

crazy-max commented 1 month ago

Sorry for the delay but seems to fail only on your docker-arm32 job that is using a self hosted runner which is the same one used in another job. So might be sandboxing issue with your runner or smth else, I'm not sure without logs.

Closing in the meantime but feel free to post new logs if possible. Thanks.