From 57614e68a5767678032b9b8a050c540471bc5e2f Mon Sep 17 00:00:00 2001
From: allegroai <>
Date: Sun, 17 Mar 2024 14:59:35 +0200
Subject: [PATCH] Fix task running in Google Colab does not fetch the notebook
 diff appropriately (#1204)

---
 clearml/backend_interface/task/repo/scriptinfo.py    | 12 +++++++++---
 .../Getting_Started_3_Remote_Execution.ipynb         |  3 ---
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/clearml/backend_interface/task/repo/scriptinfo.py b/clearml/backend_interface/task/repo/scriptinfo.py
index 65c11cb5..12fa8bfe 100644
--- a/clearml/backend_interface/task/repo/scriptinfo.py
+++ b/clearml/backend_interface/task/repo/scriptinfo.py
@@ -610,9 +610,15 @@ class ScriptInfo(object):
             except Exception:
                 pass
 
-        if not (sys.argv[0].endswith(os.path.sep + 'ipykernel_launcher.py') or
-                sys.argv[0].endswith(os.path.join(os.path.sep, 'ipykernel', '__main__.py'))) \
-                or len(sys.argv) < 3 or not sys.argv[2].endswith('.json'):
+        if (
+            not (
+                sys.argv[0].endswith(os.path.sep + "ipykernel_launcher.py")
+                or sys.argv[0].endswith(os.path.join(os.path.sep, "ipykernel", "__main__.py"))
+                or sys.argv[0].endswith(os.path.sep + "colab_kernel_launcher.py")
+            )
+            or len(sys.argv) < 3
+            or not sys.argv[2].endswith(".json")
+        ):
             return None
 
         # we can safely assume that we can import the notebook package here
diff --git a/docs/tutorials/Getting_Started_3_Remote_Execution.ipynb b/docs/tutorials/Getting_Started_3_Remote_Execution.ipynb
index f43498b4..05c2fbcb 100644
--- a/docs/tutorials/Getting_Started_3_Remote_Execution.ipynb
+++ b/docs/tutorials/Getting_Started_3_Remote_Execution.ipynb
@@ -282,9 +282,6 @@
           "new_task.update_parameters({\"General/max_depth\": 3})\n",
           "# We can even rename it if we wanted\n",
           "new_task.rename(f\"Cloned Task\")\n",
-          "# Make sure that the diff does not contain Colab invocation!\n",
-          "# cf. https://github.com/allegroai/clearml/issues/1204\n",
-          "new_task.set_script(diff=\"pass\")\n",
           "# Now enqueue it for the colab worker to start working on it!\n",
           "Task.enqueue(task=new_task, queue_name=\"default\")"
         ]