build:
  from:
    type: docker
    url: docker://ghcr.io/project-zot/golang:1.23
  binds:
    - ../. -> /zotcopy
  run: |
    export GO111MODULE=on 
    export GOPATH='/go'
    export HOME='/root'
    export PATH='/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
    mkdir -p /go/src/github.com/project-zot
    cd /go/src/github.com/project-zot
    git clone /zotcopy zot
    cd /go/src/github.com/project-zot/zot
    make COMMIT=${{COMMIT}} OS=${{OS}} ARCH=${{ARCH}} clean bench

    mkdir -p /zotcopy/.build/${{REPO_NAME}}/binary
    cp /go/src/github.com/project-zot/zot/bin/zb-${{OS}}-${{ARCH}} /zotcopy/.build/${{REPO_NAME}}/binary
  build_only: true

"${{REPO_NAME:zb}}":
  annotations:
    org.opencontainers.image.description: "a performance benchmark tool for OCI conformant registries"
  os: ${{OS}}
  arch: ${{ARCH}}
  from:
    type: docker
    url: docker://gcr.io/distroless/base-debian12:latest-${{ARCH}}
  overlay_dirs:
    - source: ../.build/${{REPO_NAME}}/binary
      dest: /usr/local/bin
  entrypoint:
    - /usr/local/bin/zb-${{OS}}-${{ARCH}}
