Make `needs:` require the job it refers to by default
needs: is a weak requirement. It means that if
needed job is not present,
we will ignore it and the job will run anyway.
Most people would expect
needs: to be strong requirement, meaning that if a
job does not exist (due to
only/except rules), the job that
needs it should also
build-a: only: [master] test-a: needs: [build-a]
test-a will be created when pushed to non-master.
test-a will not be created, as it requires the
build-a to function.