diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 89435f0ac711f4f1374e6e96bff29f35796912e3..dbc69ed01342581e93447d948730cc852fd8c07e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,9 +27,12 @@ include:
 
   # Those jobs require the base image; they might fail if the image is not up to date.
   # Allow them to fail when building a new base image, to prevent them from blocking a new base image build
+  # Never run those jobs on scheduled pipelines
   rules:
     - if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG =~ /^base-.*/'
       allow_failure: true
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: never
     - when: on_success
 
   variables:
@@ -60,6 +63,9 @@ backend-lint:
   image: python:3
   stage: test
 
+  except:
+    - schedules
+
   cache:
     paths:
       - .cache/pip
@@ -237,3 +243,13 @@ release-notes:
 
   script:
     - devops release-notes
+
+bump-python-deps:
+  stage: deploy
+  image: registry.gitlab.com/teklia/devops:latest
+
+  only:
+    - schedules
+
+  script:
+    - devops python-deps requirements.txt base/requirements.txt