diff --git a/.gitlab/ci/release/cibuildwheel_ubuntu.gitlab-ci.yml b/.gitlab/ci/release/cibuildwheel_ubuntu.gitlab-ci.yml
index b0636f7aa5a8e5ecd62f137c3e393b7e10377e2a..724ae2c6692bcc4c08c3bca046f736df90be632b 100644
--- a/.gitlab/ci/release/cibuildwheel_ubuntu.gitlab-ci.yml
+++ b/.gitlab/ci/release/cibuildwheel_ubuntu.gitlab-ci.yml
@@ -1,5 +1,6 @@
 include:
   - local: '/.gitlab/ci/release/template.gitlab-ci.yml'
+  - local: '/.gitlab/ci/release/deploy.gitlab-ci.yml'
 
 release:pip:ubuntu:
   extends: .release:pip:template
diff --git a/.gitlab/ci/release/cibuildwheel_windows.gitlab-ci.yml b/.gitlab/ci/release/cibuildwheel_windows.gitlab-ci.yml
index 10f3bb9913ea5248ac88112e111a20f297d87688..3ff6ad1e542216e42e16699037ed6a846d09e04e 100644
--- a/.gitlab/ci/release/cibuildwheel_windows.gitlab-ci.yml
+++ b/.gitlab/ci/release/cibuildwheel_windows.gitlab-ci.yml
@@ -1,5 +1,6 @@
 include:
   - local: '/.gitlab/ci/release/template.gitlab-ci.yml'
+  - local: '/.gitlab/ci/release/deploy.gitlab-ci.yml'
 
 release:pip:windows:
   extends: .release:pip:template
diff --git a/.gitlab/ci/release/deploy.gitlab-ci.yml b/.gitlab/ci/release/deploy.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..49dd7a169dae752b334c55a32407d37e6124672b
--- /dev/null
+++ b/.gitlab/ci/release/deploy.gitlab-ci.yml
@@ -0,0 +1,49 @@
+##################################
+# DEPLOY
+include:
+  - project: "eclipsefdn/it/releng/gitlab-runner-service/gitlab-ci-templates"
+    file: "jobs/secrets.gitlab-ci.yml"
+
+.deploy:template:
+  stage: deploy
+  tags: 
+    - origin:eclipse # allow to target eclipse runner that holds the key for pypi upload
+  image : eclipsecbi/buildpack-deps
+  extends: 
+    - .rules:deploy
+    - .secrets # given by the file included just above
+  id_tokens:
+        VAULT_ID_TOKEN:
+          aud: https://gitlab.eclipse.org
+  secrets:
+    TWINE_USERNAME:
+      vault: $EF_PROJECT_ID/pypi.org/username@cbi
+      file: false
+    TWINE_PASSWORD:
+      vault: $EF_PROJECT_ID/pypi.org/api-token@cbi
+      file: false
+
+  before_script: 
+    - curl https://bootstrap.pypa.io/get-pip.py  --output getpip.py
+    - python3 getpip.py --break-system-packages
+    - python3 -m pip install twine --break-system-packages
+
+  script:
+    - export WHEELS=$(find wheelhouse/ -name "$CI_PROJECT_NAME*.whl")
+    - echo "WHEELS FOUND :$WHEELS"
+    - echo $TWINE_USERNAME
+    - echo $TWINE_PASSWORD
+    - python3 -m twine upload --verbose $WHEELS
+
+
+.deploy:pip:ubuntu:template:
+  needs: [release:pip:ubuntu]
+  extends: 
+    - .deploy:template
+    - .rules:deploy
+
+.deploy:pip:windows:template:
+  needs: [release:pip:windows]
+  extends: 
+    - .deploy:template
+    - .rules:deploy
diff --git a/.gitlab/ci/release/pip.gitlab-ci.yml b/.gitlab/ci/release/pip.gitlab-ci.yml
index 50cff3c9ff5c8b050c99822184d04e8e4b5925b1..1b45a08b931186b9835ccfca8698ef669d5aa879 100644
--- a/.gitlab/ci/release/pip.gitlab-ci.yml
+++ b/.gitlab/ci/release/pip.gitlab-ci.yml
@@ -1,5 +1,6 @@
 include:
   - local: '/.gitlab/ci/release/template.gitlab-ci.yml'
+  - local: '/.gitlab/ci/release/deploy.gitlab-ci.yml'
 
 release:pip:ubuntu:
   extends: .release:pip:template
diff --git a/.gitlab/ci/release/template.gitlab-ci.yml b/.gitlab/ci/release/template.gitlab-ci.yml
index bccf820cc73ff36d9e9021b5e2024df8aede9619..7a43395a82683ad249f2e9a0e613d3cdd09e8c26 100644
--- a/.gitlab/ci/release/template.gitlab-ci.yml
+++ b/.gitlab/ci/release/template.gitlab-ci.yml
@@ -13,53 +13,3 @@ include:
     paths:   
       - wheelhouse/ 
     expire_in: 1 week
-
-##################################
-# DEPLOY
-include:
-  - project: "eclipsefdn/it/releng/gitlab-runner-service/gitlab-ci-templates"
-    file: "jobs/secrets.gitlab-ci.yml"
-
-.deploy:template:
-  stage: deploy
-  tags: 
-    - origin:eclipse # allow to target eclipse runner that holds the key for pypi upload
-  image : eclipsecbi/buildpack-deps
-  extends: 
-    - .rules:deploy
-    - .secrets # given by the file included just above
-  id_tokens:
-        VAULT_ID_TOKEN:
-          aud: https://gitlab.eclipse.org
-  secrets:
-    TWINE_USERNAME:
-      vault: $EF_PROJECT_ID/pypi.org/username@cbi
-      file: false
-    TWINE_PASSWORD:
-      vault: $EF_PROJECT_ID/pypi.org/api-token@cbi
-      file: false
-
-  before_script: 
-    - curl https://bootstrap.pypa.io/get-pip.py  --output getpip.py
-    - python3 getpip.py --break-system-packages
-    - python3 -m pip install twine --break-system-packages
-
-  script:
-    - export WHEELS=$(find wheelhouse/ -name "$CI_PROJECT_NAME*.whl")
-    - echo "WHEELS FOUND :$WHEELS"
-    - echo $TWINE_USERNAME
-    - echo $TWINE_PASSWORD
-    - python3 -m twine upload --verbose $WHEELS
-
-
-.deploy:pip:ubuntu:template:
-  needs: [release:pip:ubuntu]
-  extends: 
-    - .deploy:template
-    - .rules:deploy
-
-.deploy:pip:windows:template:
-  needs: [release:pip:windows]
-  extends: 
-    - .deploy:template
-    - .rules:deploy