Schedule a job but only run it when there are changes in the branch

I’ve successfully completed the followings:

  1. Scheduled 2 jobs to run at 11 PM each day.
  2. The jobs will run on development branch.

Additional requirements:

  • I would like to update the jobs to only run when there are changes to the development branch.

Attempts:
regressiontestwindows:on-schedule:
needs:
- buildwindows
stage: test
tags:

  • Windows
    rules:
    - if: ‘$CI_PIPELINE_SOURCE == “schedule” && $CI_COMMIT_REF_NAME == “development”’
    script:
  • cmd.exe /c RunPipelineRegressionTestLocally.bat

Observation:

  • the jobs are running every day at 11 PM even there are no changes to the development branch.

How can I set the rules so that the scheduled jobs ONLY run when there are changes to the development branch?