diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c4acfa2a4f206ea86a9fc803c81b28c4be3798cd
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,72 @@
+variables: 
+  GITHUB_REPOSITORY: http://github.com/eic/juggler
+  GITHUB_TOKEN: 
+  GITHUB_REF: refs/heads/main
+
+stages:
+  - pending
+  - prepare
+  - running
+  - report
+
+.status:
+  script:
+    - |
+      if [ -n "${GITHUB_SHA}" ] ; then
+        curl \
+          -X POST \
+          -H "Accept: application/vnd.github+json" \
+          -H "Authorization: token ${GITHUB_REPO_STATUS_TOKEN}" \
+          "https://api.github.com/repos/${GITHUB_REPOSITORY}/statuses/${GITHUB_SHA}" \
+          -d '{"state":"'"${STATE}"'",
+               "target_url":"'"${CI_PIPELINE_URL}"'",
+               "description":"'"${DESCRIPTION} $(TZ=America/New_York date)"'",
+               "context":"eicweb/detector_benchmarks ('"$DETECTOR_CONFIG"')"
+              }' ;
+      fi
+
+pending:
+  stage: pending
+  extends: .status
+  variables:
+    STATE: "pending"
+    DESCRIPTION: "Started..."
+  when: always
+
+prepare:
+  stage: prepare
+  script:
+    - git clone ${GITHUB_REPOSITORY} project
+    - git -C project checkout ${GITHUB_REF}
+    - rm -r project/.git
+  artifacts:
+    paths:
+      - project
+
+running:
+  stage: running
+  trigger:
+    include:
+      - artifact: project/.gitlab-ci.yml
+        job: prepare
+    strategy: depend
+  needs:
+    - artifacts: True
+      job: prepare
+
+report:success:
+  stage: report
+  extends: .status
+  variables:
+    STATE: "success"
+    DESCRIPTION: "Succeeded!"
+  when: on_success
+
+report:failure:
+  stage: report
+  extends: .status
+  variables:
+    STATE: "failure"
+    DESCRIPTION: "Failed!"
+  when: on_failure
+