How to skip build when skip-checkout true for docker-compose plugin

My goal is to speed up our test pipeline. For this, I first build our images, then in a 2nd step, pull them and execute our tests. In this 2nd step, I want to skip the checkout as it last 30s or more (we are using a monorepo). So I tried the skip-checkout=true with the artifacts plugin to download the docker-compose file which is not checkout anymore. But doing this, the 2nd step fail:

docker-compose -f ci/docker-compose.yml -p buildkite018195c52bf04e4a99ce687495917ddd -f docker-compose.buildkite-315-override.yml up -d --scale backend=0 backend
--
  | ERROR: build path /tmp/backend either does not exist, is not accessible, or is not a valid URL.

The reason is that docker-compose try to build the image even if we don’t need it and obviously it does not find anything. Have you any idea how I can fix this workflow? I guess I have to play arround override, but I don’t know where to start.

version: "3.8"
services:
  frontend:
    build:
      dockerfile: frontend.Dockerfile

  backend:
    build:
      dockerfile: backend.Dockerfile
    depends_on:
      - postgres
      - frontend

  postgres:
    image: "postgres:11"
steps:
  - label: ":docker::building_construction: Build images"
    key: "build-images"
    plugins:
      - artifacts#v1.5.0:
          upload: "ci/*"
      - docker-compose#v3.9.0:
          config: ci/docker-compose.yml
          build-parallel: true
          image-repository: my/registry
          build:
            - frontend
            - backend

  - label: ":rspec: Run tests"
    depends_on:
      - "build-images"
    command: ./test.sh

    plugins:
      - artifacts#v1.5.0:
          download: "ci/*"
      - docker-compose#v3.9.0:
          config: ci/docker-compose.yml
          skip-checkout: true
          args:
            - "--no-build"
          pull:
            - frontend
            - backend
          run: backend

Hi @tetienne,

Your steps seem like they are correct. Would you be able to reach out to support@buildkite.com with a build URL, so that we can take a closer look at what’s happening in your pipeline?

Thank you,

Jeremy

Hi,

I’ve sent you an email with the requested URL.

So, I finally succeed to skip the checkout. To avoid

  | ERROR: build path /tmp/backend either does not exist, is not accessible, or is not a valid URL.

You have to upload as artifacts all the Dockerfile related to your docker-compose, even if you don’t build them.