{"action":"closed","issue":{"url":"https://api.github.com/repos/flosell/lambdacd/issues/116","repository_url":"https://api.github.com/repos/flosell/lambdacd","labels_url":"https://api.github.com/repos/flosell/lambdacd/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/flosell/lambdacd/issues/116/comments","events_url":"https://api.github.com/repos/flosell/lambdacd/issues/116/events","html_url":"https://github.com/flosell/lambdacd/issues/116","id":162294957,"number":116,"title":"Step status aggregation includes all nested children","user":{"login":"flosell","id":540525,"avatar_url":"https://avatars.githubusercontent.com/u/540525?v=3","gravatar_id":"","url":"https://api.github.com/users/flosell","html_url":"https://github.com/flosell","followers_url":"https://api.github.com/users/flosell/followers","following_url":"https://api.github.com/users/flosell/following{/other_user}","gists_url":"https://api.github.com/users/flosell/gists{/gist_id}","starred_url":"https://api.github.com/users/flosell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flosell/subscriptions","organizations_url":"https://api.github.com/users/flosell/orgs","repos_url":"https://api.github.com/users/flosell/repos","events_url":"https://api.github.com/users/flosell/events{/privacy}","received_events_url":"https://api.github.com/users/flosell/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/flosell/lambdacd/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-06-25T19:00:23Z","updated_at":"2016-06-25T19:19:08Z","closed_at":"2016-06-25T19:19:08Z","body":"Control flows like `either` and `in-parallel` are supposed to aggregate the status of their children, e.g. to be successful once a child is successful. In case those children are container-steps as well, this aggregation seems to include all nested children, not just the direct children therefore ignoring the aggregation the nested children might be doing: \r\n\r\n<img width=\"609\" alt=\"screen shot 2016-06-25 at 20 49 53\" src=\"https://cloud.githubusercontent.com/assets/540525/16358564/a10cd098-3b16-11e6-9d3e-a6c8d08f577e.png\">\r\n\r\nIn this example, I'd expect `either` to aggregate `:failure` and `:waiting` to `:waiting`. Instead, it seems to also include the statuses of the children of `run`, `:failure` and `:success`, therefore aggregating to `:success`. \r\n\r\nNote how the next step in the pipeline is not yet triggered, indicating that the general pipeline execution logic works fine, just the status aggregation for visualization and history is broken. \r\n\r\nThanks to @SimonMonecke for pointing this out! "}}
{"actor":{"display_login":"flosell"}}