diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e29ae5512ffceb0f54e65472c07828eaf2c83845..55f56b26e18bc5d59f4dbf7878d7066c0d7d8af8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -205,7 +205,7 @@ publish-seco-intel-b68:
   rules:
     - if: '$CI_SQUAD_TOKEN == null'
       when: never
-    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+    - if: $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_TYPE == "daily"
 
 ##
 ## Submit jobs to LAVA
@@ -600,7 +600,7 @@ build-npm-cspell:
 
 .oe-selftest-rules:
   rules:
-    - if: $CI_PIPELINE_SOURCE == "schedule" && $OE_SELFTEST == "gcc"
+    - if: $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_TYPE == "weekly" && $OE_SELFTEST == "gcc"
 
 oe-selftest-gcc-qemu-linux-user:
   extends: [.oe-selftest, .oe-selftest-rules]
diff --git a/.oniro-ci/test-generic.yaml b/.oniro-ci/test-generic.yaml
index ab97b7d4856117aefbaa24a0d42e40f53ec91d4d..7edef1ad4e4da654370d658200791e20045e944b 100644
--- a/.oniro-ci/test-generic.yaml
+++ b/.oniro-ci/test-generic.yaml
@@ -91,7 +91,7 @@
     - if: '$CI_SQUAD_TOKEN == null'
       when: never
     # Run the build when it is scheduled.
-    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_TYPE == "daily"
     # Do not run pipelines for draft merge requests unless manually triggered.
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
       when: manual
@@ -127,7 +127,7 @@
     - if: '$CI_SQUAD_TOKEN == null'
       when: never
     # Run the build when it is scheduled.
-    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_TYPE == "daily"
       when: manual
     # Do not run pipelines for draft merge requests unless manually triggered.
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
@@ -167,7 +167,7 @@
       - lava-test.svg
   rules:
     # Run the build when it is scheduled.
-    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_TYPE == "daily"
     # Do not run pipelines for draft merge requests unless manually triggered.
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
       when: manual