I guess the source of confusion is because running
drone exec implicitly means
drone exec --pipeline default which will always run the first pipeline available.
So from a user perspective it sort of makes sense to think that if they are not explicitly declaring a pipeline, it’s up to drone to evaluate if should be run based on the other attributes.
Additionally, we kind of have a false positive when the docs mention:
You can also combine multiple triggers. Note that all triggers must evaluate to true when combining multiple triggers.
So in theory, by observing the above, if you run
drone exec --pipeline default --branch falsy --event promote, since neither branch
falsy evaluates to true when compared to branch
master and the event is
promote instead of
tag, the assumption would naturally be that the command should simply exit without performing any actions.