Hi,
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).