Open ibu1224 opened 11 months ago
The most recently completed build within the JOIN list triggers the next jobs.
Therefore, the last completed build A
triggers the TARGET
job.
Subsequently, the TARGET
build starts because all statuses of the latest build within the same event group are SUCCESS
.
As the TARGET
build is executed within the same event, the final state will appear as depicted in the image.
This behavior is not a bug but is based on the specification where the last completed build within the JOIN list triggers the next jobs.
The same kind of display occurs when using OR conditions. (ex. requires: [ failure1, failure2, ~success ]
)
While the UI display may indeed appear strange, to facilitate user understanding of This specification, I think it would be better to implement the following:
This is indeed a strange behavior, user expectation would have been the join job running in the current event and not in a past event.
I propose that we should still create a build in current event, which should inherit previous builds properties such as metadata & updated parentBuild status. Which can be used to determine if it should be executed
It seems good. However, we also need to consider the following:
I suggest that we clarify the desired behavior, including any other trigger issues, before making corrections.
@y-oksaku to your second point. What if lock based on pipeline id & group event id, more ops might end up getting processed sequentially, but that should be okay.
What happened: As depicted in the image below, when the AND condition is met and executed, the build is displayed inaccurately.
Parent event
Child event
I thought the event that TARGET runs was the event that restarted the D build. I think that the matter shown in the parent event is not the intended behavior, as the status appears to be failing on the UI.
Event tab
This is not a UI rendering issue. It is probably a problem with the EventId associated with the build creation.
Is this expected behavior? Do you think this is a bug?
What you expected to happen: TARGET builds should be displayed on child events, which can be confusing on the user interface as it is linked to failed events.
How to reproduce it: pipeline: https://cd.screwdriver.cd/pipelines/12604/events/778589