I’ve been testing my pipeline changes locally by using drone exec (I think it is brilliant to have a way to verify pipeline changes before checking in!). However, when I finally pushed my changes, I had three successive errors on drone server (fix first, see second, fix second, see third).
One of the services in my pipeline had
depends_on. The first error:
Cannot configure both commands and custom attributes [ports]
ports and pushed. The second error:
Cannot configure both commands and custom attributes [depends_on]
I don’t know if the client was honoring
depends_on because it executed the same with and without these values…but, despite errors on the server, there were no validation errors on the client. I removed
[depends_on] and pushed.
The third error was with
detach: true (again, defined on one of my services). When running locally, the behavior I observed showed that drone exec was indeed honoring this flag. However, when I pushed the change with
detach: true, drone server didn’t complain about the tag or value, but the pipeline failed because drone server was ignoring or unaware of this flag.
I am using drone 0.8 on my client (and I believe that it is the same version on the server). Does drone client and server use the same lib to read, validate, and execute the pipeline yaml?