diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 778360b701c9467c510dd7914f37bb65f6f02c35..552e5565bf19e2683c473800db73366ab9193301 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:$JUGGLER_TAG
 default:
   before_script:
     - source .local/bin/env.sh
+  interruptible: true
   artifacts:
     expire_in: 3 days
     paths:
diff --git a/benchmarks/full/options/full_reconstruction.py b/benchmarks/full/options/full_reconstruction.py
index ce2f2ff8aa53decc60641632470ec83eb4d929d0..a479127245e67fbc53a4b5c936f4f65858bcfa98 100644
--- a/benchmarks/full/options/full_reconstruction.py
+++ b/benchmarks/full/options/full_reconstruction.py
@@ -99,6 +99,7 @@ sim_coll = [
     "HcalEndcapNHits",
     "TrackerEndcapHits",
     "TrackerBarrelHits",
+    "GEMTrackerEndcapHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
     "DRICHHits"
@@ -447,6 +448,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -464,6 +470,11 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerHitReconstruction("gem_ec_digi",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits",
+        timeResolution=10)
+
 # Hit Source linker
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections = ["VertexBarrelRecHits", "TrackerBarrelRecHits"],
diff --git a/benchmarks/tracking/options/imagingcluster_seeded_tracking.py b/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
index 9f6916707e7fcf8bbd83b57474b557900e6b8b1f..58faeb7451b8c6e41829347e2600b3e18f5b166e 100644
--- a/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
+++ b/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
@@ -44,7 +44,8 @@ sim_colls = [
     "TrackerBarrelHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
-    "EcalBarrelHits"
+    "EcalBarrelHits",
+    "GEMTrackerEndcapHits"
 ]
 podin = PodioInput("PodioReader", collections=sim_colls)
 podout = PodioOutput("out", filename=output_rec)
@@ -73,6 +74,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerReco("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -90,6 +96,10 @@ vtx_ec_reco = TrackerReco("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerReco("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections=["VertexBarrelRecHits", "TrackerBarrelRecHits"],
         outputSourceLinks="TrackerSourceLinks",
@@ -165,8 +175,8 @@ podout.outputCommands = [
 
 ApplicationMgr(
     TopAlg = [podin, mccopier,
-              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
-              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
+              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi, gem_ec_digi,
+              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco, gem_ec_reco,
               cb_ecal_digi, cb_ecal_reco, cb_ecal_cl, cb_ecal_clreco,
               sourcelinker,
               imclust_trk_init,
diff --git a/benchmarks/tracking/options/tracker_reconstruction.py b/benchmarks/tracking/options/tracker_reconstruction.py
index bcb4755f01c1ce0d44372b46a22c745c7080e3c2..aeb5ee36e68459330488f52863b8aa38851fb19b 100644
--- a/benchmarks/tracking/options/tracker_reconstruction.py
+++ b/benchmarks/tracking/options/tracker_reconstruction.py
@@ -48,7 +48,7 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
 algorithms = [ ]
 
 podioinput = PodioInput("PodioReader", 
-                        collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits"])#, OutputLevel=DEBUG)
+                        collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits","GEMTrackerEndcapHits"])#, OutputLevel=DEBUG)
 algorithms.append( podioinput )
 
 ## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
@@ -85,6 +85,12 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         timeResolution=8)
 algorithms.append( vtx_ec_digi )
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+algorithms.append(gem_ec_digi)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -106,11 +112,17 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
         outputHitCollection="VertexEndcapRecHits")
 algorithms.append( vtx_ec_reco )
 
+gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+algorithms.append(gem_ec_reco)
+
 trk_hit_col = TrackingHitsCollector("trk_hit_col",
         trackerBarrelHits=trk_b_reco.outputHitCollection,
         trackerEndcapHits=trk_ec_reco.outputHitCollection,
         vertexBarrelHits=vtx_b_reco.outputHitCollection,
         vertexEndcapHits=vtx_ec_reco.outputHitCollection,
+        gemEndcapHits=gem_ec_reco.outputHitCollection,
         outputHitCollection="trackingHits")
 algorithms.append( trk_hit_col )
 
diff --git a/benchmarks/tracking/options/truth_seeded_tracking.py b/benchmarks/tracking/options/truth_seeded_tracking.py
index 3c9ee9cbbf4fa7df9b0429942362656b31a41f49..194d06930e160cc6caa2e27d2af2e0a8703ab2dc 100644
--- a/benchmarks/tracking/options/truth_seeded_tracking.py
+++ b/benchmarks/tracking/options/truth_seeded_tracking.py
@@ -35,7 +35,8 @@ sim_colls = [
     "TrackerBarrelHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
-    "EcalBarrelHits"
+    "EcalBarrelHits",
+    "GEMTrackerEndcapHits"
 ]
 podin = PodioInput("PodioReader", collections=sim_colls)
 podout = PodioOutput("out", filename=output_rec)
@@ -64,6 +65,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerReco("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -81,6 +87,10 @@ vtx_ec_reco = TrackerReco("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerReco("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections=["VertexBarrelRecHits", "TrackerBarrelRecHits"],
         outputSourceLinks="TrackerSourceLinks",
@@ -118,8 +128,8 @@ podout.outputCommands = [
 
 ApplicationMgr(
     TopAlg = [podin, mccopier,
-              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
-              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
+              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi, gem_ec_digi,
+              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco, gem_ec_reco,
               sourcelinker,
               truth_trk_init,
               trk_find_alg, parts_from_fit,