diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a9d6ee29e00cbbdf2e5568720a0c5d32e6097d91..80ea6e0128b486359c8d2f2c5266c10d3cd97cd4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,6 +29,7 @@ variables:
   LOG_LEVEL: "-vv"
 
 before_script:
+  - ./tests/scripts/rebase.sh
   - /usr/bin/python -m pip install -r tests/requirements.txt
   - mkdir -p /.ssh
 
@@ -42,6 +43,7 @@ before_script:
   services:
     - docker:dind
   before_script:
+    - ./tests/scripts/rebase.sh
     - ./tests/scripts/testcases_prepare.sh
   script:
     - ./tests/scripts/testcases_run.sh
diff --git a/.gitlab-ci/shellcheck.yml b/.gitlab-ci/shellcheck.yml
index 7001963a6ab038dcb29ffa3a7ef5532ce9a69342..a8d7230dfa017d3a0db97ca34bc249273655a5bf 100644
--- a/.gitlab-ci/shellcheck.yml
+++ b/.gitlab-ci/shellcheck.yml
@@ -5,6 +5,7 @@ shellcheck:
   variables:
     SHELLCHECK_VERSION: v0.6.0
   before_script:
+    - ./tests/scripts/rebase.sh
     - curl --silent "https://storage.googleapis.com/shellcheck/shellcheck-"${SHELLCHECK_VERSION}".linux.x86_64.tar.xz" | tar -xJv
     - cp shellcheck-"${SHELLCHECK_VERSION}"/shellcheck /usr/bin/
     - shellcheck --version
diff --git a/.gitlab-ci/terraform.yml b/.gitlab-ci/terraform.yml
index 9f496d325ebbafc2273705d629ad6c13369b9de4..313de9638e97ae4225d36b0521cd21e43f804ad6 100644
--- a/.gitlab-ci/terraform.yml
+++ b/.gitlab-ci/terraform.yml
@@ -3,6 +3,7 @@
 .terraform_install:
   extends: .job
   before_script:
+    - ./tests/scripts/rebase.sh
     # Set Ansible config
     - cp ansible.cfg ~/.ansible.cfg
     # Install Terraform
diff --git a/tests/scripts/rebase.sh b/tests/scripts/rebase.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9a0345b56794ee366181f7a96c68b10e4df05197
--- /dev/null
+++ b/tests/scripts/rebase.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -euxo pipefail
+
+# Rebase on master to get latest changes
+git config user.email "ci@kubespray.io"
+git config user.name "CI"
+git pull --rebase origin master