@Shadow_of_clown если when выкинуть, то получится "если изменились файлы ИЛИ пуш не в мейн". When именно внутри rules надо смотреть

Use rules:if clauses to specify when to add a job to a pipeline:

If an if statement is true, add the job to the pipeline.
If an if statement is true, but it's combined with when: never, do not add the job to the pipeline.
If no if statements are true, do not add the job to the pipeline.