concourse / oci-build-task

a Concourse task for building OCI images
Apache License 2.0
74 stars 55 forks source link

Unable to build images on arm64 #101

Open palmsey opened 2 years ago

palmsey commented 2 years ago

I have a task definition like

platform: linux
image_resource:
  type: registry-image
  source:
    repository: concourse/oci-build-task
inputs:
  - name: repo
outputs:
  - name: my-image
run:
  path: build
params:
  CONTEXT: repo

When I run it on my M1 Mac, when it gets to the first RUN command in the Dockerfile I get the error:

#7 0.260 container_linux.go:380: starting container process caused: process_linux.go:393: copying bootstrap data to pipe caused: write init-p: broken pipe

When I run it in a linux/amd64 EC2 instance, the same task completes successfully. I'm using the docker-compose from the QuickStart, but with the concourse image changed to rdclda/concourse:7.8.2 since concourse/concourse won't run on my M1.

The full file is:

version: '3'

services:
  concourse-db:
    image: postgres
    environment:
      POSTGRES_DB: concourse
      POSTGRES_PASSWORD: concourse_pass
      POSTGRES_USER: concourse_user
      PGDATA: /database

  concourse:
    image: rdclda/concourse:7.8.2
    command: quickstart
    privileged: true
    depends_on: [ concourse-db ]
    ports: [ "8080:8080" ]
    environment:
      CONCOURSE_POSTGRES_HOST: concourse-db
      CONCOURSE_POSTGRES_USER: concourse_user
      CONCOURSE_POSTGRES_PASSWORD: concourse_pass
      CONCOURSE_POSTGRES_DATABASE: concourse
      CONCOURSE_EXTERNAL_URL: http://localhost:8080
      CONCOURSE_ADD_LOCAL_USER: test:test
      CONCOURSE_MAIN_TEAM_LOCAL_USER: test
      # instead of relying on the default "detect"
      CONCOURSE_WORKER_BAGGAGECLAIM_DRIVER: overlay
      CONCOURSE_CLIENT_SECRET: Y29uY291cnNlLXdlYgo=
      CONCOURSE_TSA_CLIENT_SECRET: Y29uY291cnNlLXdvcmtlcgo=
      CONCOURSE_X_FRAME_OPTIONS: allow
      CONCOURSE_CONTENT_SECURITY_POLICY: "*"
      CONCOURSE_CLUSTER_NAME: tutorial
      CONCOURSE_WORKER_CONTAINERD_DNS_SERVER: "8.8.8.8"
      CONCOURSE_WORKER_RUNTIME: "containerd"
gsaslis commented 1 year ago

Hi there @palmsey

I'm running into a similar issue, so I was wondering if you ever got this to work and kept a working config somewhere ?

Thanks in advance!

palmsey commented 1 year ago

Sorry, I didn't find a solution for this and eventually switched to GH Actions.

gsaslis commented 1 year ago

thanks for the prompt reply @palmsey !

For What It's Worth (FWIW), I did eventually manage to get this going. More details on https://github.com/concourse/concourse/issues/8719#issuecomment-1676821087