diff --git a/utils/ci/Jenkinsfile.e2e b/utils/ci/Jenkinsfile.e2e
new file mode 100644
index 0000000000000000000000000000000000000000..d387f2a4550b8500c3c65e6fab7de041bdff4573
--- /dev/null
+++ b/utils/ci/Jenkinsfile.e2e
@@ -0,0 +1,78 @@
+/********************************************************************************
+ * Copyright (c) 2025 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ ********************************************************************************/
+
+pipeline {
+  agent none
+  parameters {
+    string(name: 'OPTESTRUNNER_URL', defaultValue: 'https://download.eclipse.org/openpass/snapshots/opTestrunner/pytest_optestrunner-0.0.1-py3-none-any.whl', description: 'URL to download opTestrunner binaries')
+    string(name: 'GECCO_URL', defaultValue: 'https://ci.eclipse.org/openpass/job/gecco/job/gecco-release-handling/4/artifact/artifacts/gecco.tar.gz', description: 'URL to download gecco binaries')
+    string(name: 'GTGEN_CLI_URL', defaultValue: 'https://ci.eclipse.org/openpass/job/GT-Gen-Simulator-PreMerge-Gate/view/tags/job/v11.3.0/lastSuccessfulBuild/artifact/artifacts/gtgen-cli_1.1.0_amd64.deb', description: 'URL to download gtgen cli binaries')
+    string(name: 'GTGEN_SIM_URL', defaultValue: 'https://ci.eclipse.org/openpass/job/GT-Gen-Simulator-PreMerge-Gate/view/tags/job/v11.3.0/lastSuccessfulBuild/artifact/artifacts/gtgen-simulator_11.3.0_amd64.deb', description: 'URL to download gtgen simulator binaries')
+  }
+  options {
+    checkoutToSubdirectory('repo')
+    timeout(time: 10, unit: 'HOURS')
+    timestamps()
+    disableConcurrentBuilds(abortPrevious: true)
+    buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '2'))
+  }
+  stages {
+    stage('Run E2E tests') {
+      parallel {
+        stage('Linux') {
+          agent {
+            kubernetes {
+              customWorkspace 'ope2e'
+              yamlFile 'utils/ci/openpassAgentPod.yaml'
+            }
+          }
+          environment {
+            PYTHON_EXECUTABLE = 'python3'
+          }
+          stages {
+            stage('Linux: Cleanup') {
+              steps {
+                container('openpass-build') {
+                  sh 'bash repo/utils/ci/scripts_e2e/10_prepare.sh'
+                }
+              }
+            }
+            stage('Linux: Fetch binaries') {
+              steps {
+                container('openpass-build') {
+                  sh 'bash repo/utils/ci/scripts_e2e/pull_gecco.sh'
+                  sh 'bash repo/utils/ci/scripts_e2e/pull_optestrunner.sh'
+                  // sh 'bash repo/utils/ci/scripts_e2e/pull_gtgen.sh'
+                  sh 'bash repo/utils/ci/scripts_e2e/build_gtgen.sh'
+                }
+              }
+            }
+            stage('Linux: Run E2E') {
+              steps {
+                container('openpass-build') {
+                  sh 'bash repo/utils/ci/scripts_e2e/55_endtoend.sh'
+                }
+              }
+            }
+          }
+          post {
+            always {
+              script {
+                sh 'bash repo/utils/ci/scripts_e2e/90_pack_artifacts.sh'
+                archiveArtifacts allowEmptyArchive: true, artifacts: 'artifacts/**', followSymlinks: false
+                junit allowEmptyResults: true, testResults: 'build/**/*Tests.xml,repo/sim/tests/endToEndTests/pyOpenPASS/result_*.xml'
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/utils/ci/openpassAgentPod.yaml b/utils/ci/openpassAgentPod.yaml
index 12ea3bcbd547a4442d2768f7a5711ac63860d065..60deee1aaae1133d445503fc3c71a00a1bdc540b 100644
--- a/utils/ci/openpassAgentPod.yaml
+++ b/utils/ci/openpassAgentPod.yaml
@@ -12,7 +12,7 @@ kind: Pod
 spec:
   containers:
   - name: openpass-build
-    image: "eclipseopenpass/opsim-ci:v1.2.1"
+    image: "eclipseopenpass/opsim-ci:v1.2.8"
     tty: true
     resources:
       limits: