diff --git a/.github/workflows/jobs.yml b/.github/workflows/jobs.yml
index 1c13bd9227157ce5b060df4549ef5f222ca0d18e..875ce6dc5dfbac804d3ed049dfc0be31f0859f99 100644
--- a/.github/workflows/jobs.yml
+++ b/.github/workflows/jobs.yml
@@ -3,7 +3,7 @@ name: CI/CD Pipeline
 on:
   push:
     branches:
-      - main
+      - main, dev
   pull_request:
     branches:
       - main, dev
diff --git a/utils/geo.py b/utils/geo.py
index e21aab41da02984a3e8b8887edc216cd85197cc2..f0cd9893920e00ef098b9fdd864c5a6a42ec298d 100644
--- a/utils/geo.py
+++ b/utils/geo.py
@@ -58,14 +58,25 @@ def merge_tiles(
     if method == "average":
         method = custom_method_avg
 
-    merge(
-        sources=file_handler,  # list of dataset objects opened in 'r' mode
-        bounds=union_extent,  # tuple
-        nodata=nodata,  # float
-        dtype=dtype,  # dtype
-        method=method,  # strategy to combine overlapping rasters
-        dst_path=dst_path,
-    )
+    try:
+        merge(
+            sources=file_handler,  # list of dataset objects opened in 'r' mode
+            bounds=union_extent,  # tuple
+            nodata=nodata,  # float
+            dtype=dtype,  # dtype
+            method=method,  # strategy to combine overlapping rasters
+            dst_path=dst_path,
+        )
+    ## different rasterio versions take different keyword args
+    except TypeError:
+        merge(
+            datasets=file_handler,  # list of dataset objects opened in 'r' mode
+            bounds=union_extent,  # tuple
+            nodata=nodata,  # float
+            dtype=dtype,  # dtype
+            method=method,  # strategy to combine overlapping rasters
+            dst_path=dst_path,
+        )
 
     # close datasets
     for ds in file_handler: