Deploy зависит от lint через needs:, поэтому при failure lint
(исторический долг empty-блоков) deploy вообще не запускается
(висит pending бесконечно).
Lint не в branch protection required-checks — он опциональный.
Deploy должен зависеть только от Build + Secret-scan.