job.<job id>.needs not working as documented

I have a job like:

lint:
    runs-on: ubuntu-latest
    needs: [lint_foo, lint_bar, lint_baz]
    steps:
    - run: true

I was hoping to use the “meta” job lint as a single status for other automation to confirm whether all the individual lint jobs succeeded.

However, I am seeing that if a single lint_foo or lint_bar or lint_baz step fails, the lint job doesn’t report at all. The documentation led me to believe that lint would report as failure.

According to https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idneeds:

“If a job fails, all jobs that need it will also fail unless the jobs use a conditional statement that causes the job to continue.”

That documentation needs to be clarified.   If you have a dependency on a previous job and that job fails by default your job will be skipped or fail to run at all.   Thank you for letting us know.

@chrispat, this issue does not seem to be solved since the documentation has not been carified. I have the same request for a ‘meta’ job and I am very confused on how to solve this problem!

@mark-rushakoff  how did you solve this problem? 

Edit: I solved it after I found this conversation: https://github.community/t5/GitHub-Actions/Semantics-of-using-quot-job-needs-quot-and-quot-job-if-quot/m-p/45495#M6231