I’m not really sure how sophisticated the CI lint is, but I’m not completely sure that it’s as accurate as you’re hoping here. What behaviour are you seeing in “real” pipelines?
@snim2 as already mentioned, it seems that variable SMOKE_TESTS used in the rules section of the job smoke-tests-job allows to run the run-smokes job even though it is called with the SMOKE_TESTS variable set to empty. I would expect that smoke-tests-job due to rules statement blocks the job run-smokes from being run. Unfortunately it is not.
OK, but that variable can also be set in a number of other ways. Either in a scheduled pipeline via the UI, or in the CI/CD variables in the settings of the project or potentially in the environment of the runner.
The pipeline is run by the rule of the workflow. The rule is set to run the pipeline for develop or RC, but it does not set the variable anyway.
The variable is only set by the scheduler but in this case it is not triggered by it.