stealthybox/container-builder-github-ci-status

Last step is misreported as failure step

Opened this issue · 2 comments

If there are multiple steps running when a failure occurs, the latest task to start is reported as the failure reason, rather than the task with status=FAILURE

image

In the report from cloud container builds describe, isort has a (very slightly!) later start time:

  id: run-tests
  status: FAILURE
  timing:
    endTime: '2018-04-22T18:51:47.129276336Z'
    startTime: '2018-04-22T18:41:13.672572721Z'
[...]
  id: isort
  status: SUCCESS
  timing:
    endTime: '2018-04-22T18:41:28.186709447Z'
    startTime: '2018-04-22T18:41:13.672967786Z'

Thanks for reporting this @maxim-lian 👋
I think the status field is new, so we can probably rewrite the filter to use that:

const lastStep = steps.filter( s => s.timing && s.timing.startTime ).pop()
const failureDescription = (ghStatus=='failure' || ghStatus=='error')
? ' · ' + (lastStep ? `${lastStep.id} `:'') + status.toLowerCase()
: ''

I was able to grab a failing build that demonstrates this issue.
I've started writing the necessary patch.