Workflow needs not working

I was try to manage a complex workflow. But I found in some situation the job.needs not work.

here is my workflow and the link for a run.

As you can see, job Build needs Logic. But when Logic success, job Build is skipped. I don’t understand why.

  Build:
    runs-on: ubuntu-18.04
    needs: [Logic]
    if: ${{ success() }}
    steps:
      - name: Download SDK
        uses: actions/download-artifact@v2
        with:
          name: sdk-c

Hi, it might be because the workflow is using if: ${{ success() }}

Example of how if statements are used in workflows:

Status check functions are used to check if a previous step of a job failed. however, Build doesn’t appear to have any previous steps. Could you try removing L61 to see if that resolves the issue?