Some of the
.drone.yml files used by my team take advantage of YAML group merging to simplify some repeated sections. This works great on the Drone server but breaks
drone exec with an “Invalid or missing image” error message.
Following is an example of a
.drone.yml file I’ve verified as working on Drone server 0.8.2 but fails with
drone build using Drone CLI 0.8.6.
default_node_setup: &node_lts_carbon_build image: node pull: true pipeline: lint-client-js: <<: *node_lts_carbon_build group: checks commands: - npm run lint:client:js
The build succeeds when run with the following, equivalent, YAML file.
pipeline: lint-client-js: image: node pull: true group: checks commands: - npm run lint:client:js
From a brief glance at Drone server and Drone CLI’s YAML parsing code (linked), it seems the only difference is that Drone CLI performs additional preprocessing using envsubst (see L310 in previous link).