Trigger by status unexpected behaviour


#1

I have this kind of pipeline definition:

trigger:
  status: [success, failure]

depends_on:
  - default

In case the default pipeline fails, the status of the second pipeline will be successful, i.e., all *_STATUS environment variables will report successful.This is unexpected behaviour. The pipeline as a whole is still marked as failed in UI. So essentially, there’s no way to detect failure in dependent pipelines which could be used to notify overall status of the pipeline. There’s an example in official docs explaining the exact use case: https://docs.drone.io/config/pipeline/multi-machine/#triggers


#2

There is an open issue for this in the core Drone repository issue tracker that can be subscribed to.


#3

I can not seem to find it in drone/drone. There’s only handful of issues that relate to Drone 1.0.
This is the closest I could find, but it doesn’t seem to describe the problem above: https://github.com/drone/drone/issues/2452


#4

@bradrydzewski Is this planned for 1.0 release? I still can’t find any mention of this issue and this affects 1.0-rc.5 as well.


#5

the existing issue is here: https://github.com/drone/drone/issues/2553

I will point out that this behavior is working as designed. The status is local to the currently running pipeline. I agree that this behavior is not intuitive, but it is not considered a bug. We may introduce a second global status variable prior to 1.0-final, so that you can differentiate between the status of the currently running pipeline vs the overall build.