Gitlab runner not picking up source events "push"

I don’t see quite what is wrong, but this entry does not get picked up when a push event happens to a branch. Actually, it seems to only run when the main branch is pushed to. But the rest of the jobs appear to run (our linter etc.)

deploy_to_devserver:
stage: deploy
interruptible: true
rules:
- if: ‘$CI_PIPELINE_SOURCE == “push”’
when: always
environment:
name: $CI_COMMIT_REF_SLUG

I have tried with and without the single quotes. I also put the $CI_PIPELINE_SOURCE in an output variable and it does indeed say “push” (without the quotes). I am pretty new to using gitlab so it can absolutely be something really obvious that I do not see.