]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Trigger rebase in private project after merge into the public one
authorPetr Špaček <pspacek@isc.org>
Thu, 18 Sep 2025 14:15:05 +0000 (16:15 +0200)
committerMichał Kępień <michal@isc.org>
Fri, 24 Oct 2025 02:42:58 +0000 (04:42 +0200)
Actual rebase and push is handled by pipeline inside the private project.

.gitlab-ci.yml

index 3ef72c21d5c6e7972b27faff3aec9d92cb2bce72..9280cf5e938b562469046d5274d339732b3eb7b0 100644 (file)
@@ -307,10 +307,10 @@ stages:
   - if: '$CI_COMMIT_TAG != null'
 
 .rule_source_other_than_mr: &rule_source_other_than_mr
-  - if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/'
+  - if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/ && $REBASE_ONLY != "1"'
 
 .rule_source_all: &rule_source_all
-  - if: '$CI_PIPELINE_SOURCE =~ /^(api|merge_request_event|pipeline|schedule|trigger|web)$/'
+  - if: '$CI_PIPELINE_SOURCE =~ /^(api|merge_request_event|pipeline|schedule|trigger|web)$/ && $REBASE_ONLY != "1"'
 
 .api-pipelines-schedules-tags-triggers-web-triggering-rules: &api_pipelines_schedules_tags_triggers_web_triggering_rules
   rules:
@@ -476,7 +476,7 @@ stages:
     #   variables:
     #     SHOTGUN_ROUNDS: 3
     # - &shotgun_rule_other
-    #   if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/'
+    #   if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/ && $REBASE_ONLY != "1"'
   # when using data from a single run, the overall instability of the results
   # causes quite high false positive rate, rerun the test to attemp to reduce those
   retry: 1
@@ -1741,7 +1741,7 @@ customer-git:branch:
     - if: '$CI_PROJECT_NAMESPACE == "isc-private" && $CI_PIPELINE_SOURCE == "merge_request_event"'
       variables:
         BRANCH: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME'
-    - if: '$CI_PROJECT_NAMESPACE == "isc-private" && $CI_PIPELINE_SOURCE =~ /^(api|pipeline|trigger|web)$/'
+    - if: '$CI_PROJECT_NAMESPACE == "isc-private" && $CI_PIPELINE_SOURCE =~ /^(api|pipeline|trigger|web)$/ && $REBASE_ONLY != "1"'
       variables:
         BRANCH: '$CI_COMMIT_BRANCH'
   before_script:
@@ -1952,7 +1952,7 @@ stress-test-child-pipeline:
       when: manual  # don't run on each MR unless requested
       allow_failure: true
     - if: '$CI_COMMIT_TAG != null'
-    - if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/'
+    - if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/ && $REBASE_ONLY != "1"'
   trigger:
     include:
       - artifact: stress-test-configs.yml
@@ -2081,3 +2081,17 @@ merged-metadata:
     - if: '$CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_REF_NAME =~ /^bind-9.[0-9]+(-sub)?$/ || $CI_COMMIT_REF_NAME =~ /^v9.[0-9]+.[0-9]+-release$/ || $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
   script:
     - bind9-qa/releng/after_merge.py "$CI_PROJECT_ID" "$MERGE_REQUEST_ID"
+
+auto-rebase-trigger:
+  stage: postmerge
+  rules:
+    - if: '$CI_PROJECT_NAMESPACE == "isc-projects" && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~ /^bind-9.[0-9]+$/'
+  needs: []
+  interruptible: true
+  inherit:
+      variables: false
+  variables:
+    REBASE_ONLY: 1
+  trigger:
+      project: isc-private/bind9
+      branch: "${CI_COMMIT_BRANCH}-sub"