How to stop scheduled jobs getting interrupted?

How do I configure GitLab Pipeline so a scheduled “Nightly” job that runs on master does not get interrupted by other non-scheduled pipelines? We want the non-scheduled pipelines that run on master to be interruptible though.

The reason for this is I want to publish internally build artifacts from the Nightly pipelines, if the pipeline jobs can be interrupted then the job that publishes artifacts internally may not run and we would have missing daily data. Also, the scheduled pipeline runs some long lasting tests that take a couple of hours but we need to runing daily to catach performance regressions.

This would be less of an issue except we have devs in multiple timezones so there is no “quiet time” that minimises risk of a second master pipeline being kicked off by a merge request cancelling the schduled one.

I have tried defining a variable that is set to true and override via the scheduled job but that didn’t work.

Any ideas appreciated? If this can’t be done conventiently I would suggest a checkbox be added to the scheduled job editor that, if checked, makes all jobs behave as if they were not interruptible.

example .gitlab-ci.yml


  interruptible: "$INTERRUPTIBLE_JOB"
    echo "Foo"