Build says "image is required" but I have an image

docker

#1

I’ve made a public custom docker image, which you can see here. I have a piece of circleci config (with two job stanzas taken out for brevity) that looks like this;

version: 2
jobs:
  mythril:
    docker:
      - image: reserveprotocol/mythril:v0.17.14
      - command: -x --solv 0.4.24 ./ethereum/contracts/MyContract.sol
      # - entrypoint: bash
    steps:
      - checkout
      # - run: myth -x ./ethereum/contracts/MyContract.sol
workflows:
  version: 2
  test_all:
    jobs:
      - mythril

When I push this, the build fails immediately, saying;

Build-agent version 0.0.6102-5598269 (2018-06-05T17:36:34+0000)
Configuration errors: 1 error occurred:

* 1 error occurred:

* In job 'mythril': 1 error occurred:

* in container 2: image is required

It acts like the config is malformed, but I’m confused about how that could be, because I’ve seen other config with image names with slashes and colons in them. The image works when I run it locally. What am I missing? (This config has worked many times before with a pre-existing image like ubuntu:bionic.)


#2

I wonder if it is worth putting the command string in single or double quotes?


#3

Good idea. Unfortunately I’ve tried that, and also ["-x", "--solv", "0.4.24", "./protocol/ethereum/contracts/Manager.sol"] both of which fail with exactly the same message, which makes me thing it’s really about the image.


#4

Ah, got it. In my config, you can see that I put a hyphen in front of the command keyword. I was trying to follow this example, and just misread it. After removing the hyphen, it now works. The error message could have been clearer, though.


#5

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.