docker-compose-buildkite-plugin icon indicating copy to clipboard operation
docker-compose-buildkite-plugin copied to clipboard

`exit 1` Even though commands passed

Open Sushisource opened this issue 2 years ago • 0 comments

The plugin is reliably exiting 1, and hence failing my runs, with rather long runtimes. I have a 4 hour test which triggers this every time.

My pipeline definition looks like:

agents:
  queue: 'default'
  docker: '*'

steps:
  - label: 'nightly-test'
    timeout_in_minutes: 360
    concurrency: 1 # Only allow one nightly build at a time
    concurrency_group: 'node-sdk/nightly'
    commands:
      - '.buildkite/docker/build.sh'
      - 'npm run ci-nightly'
      - 'echo success'
    artifact_paths:
      - 'docker-compose-logs/*'
    plugins:
      - docker-compose#v3.8.0:
          run: test-container
          upload-container-logs: always
          config:
            - .buildkite/docker/docker-compose.yaml
            - .buildkite/docker/docker-compose-ci.yaml

I know the commands work fine because I see the success line get echoed. The build output ends with:

success
🚨 Error: The command exited with status 1
user command error: The plugin docker-compose command hook exited with status 1

Whereas builds that have failed for legitimate reasons look like:

⚠️ Failed to run command, exited with 2, run params:
run --name buildkitec14d1406904d4db98fa70cefd10a4e75_test-container_build_250 --rm test-container /bin/sh -e -c .buildkite/docker/build.sh
npm run ci-load
🚨 Error: The command exited with status 2
user command error: The plugin docker-compose command hook exited with status 2

The "failed to run command" part being missing says to me the plugin isn't mistakenly thinking my command failed. It thinks it passed, and then exits 1 anyway.

I haven't dug into plugin code yet but this is preventing me from using the plugin for these longer running tests.

Sushisource avatar Sep 29 '21 18:09 Sushisource