From f55273aae324749e43c92187e02e6832da376c13 Mon Sep 17 00:00:00 2001
From: Tobias Stein <Tobias.Stein@stud.h-da.de>
Date: Wed, 5 Jan 2022 17:31:31 +0100
Subject: [PATCH] Added auto clone-or-pull for the main repo

---
 local.yml                                      |  1 +
 roles/git-clone-or-pull/files/clone-or-pull.sh | 16 ++++++++++++++++
 roles/git-clone-or-pull/tasks/main.yml         | 13 +++++++++++++
 3 files changed, 30 insertions(+)
 create mode 100755 roles/git-clone-or-pull/files/clone-or-pull.sh
 create mode 100644 roles/git-clone-or-pull/tasks/main.yml

diff --git a/local.yml b/local.yml
index e71dbf5..2bef041 100644
--- a/local.yml
+++ b/local.yml
@@ -27,6 +27,7 @@
           - python3-venv
 
   roles:
+    - git-clone-or-pull
     - jupyter-lab
     - ml-python-packages
     - misc-applications
diff --git a/roles/git-clone-or-pull/files/clone-or-pull.sh b/roles/git-clone-or-pull/files/clone-or-pull.sh
new file mode 100755
index 0000000..19052a7
--- /dev/null
+++ b/roles/git-clone-or-pull/files/clone-or-pull.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+GIT_URL="https://code.fbi.h-da.de/pse-ai-at-the-edge/ai-at-the-edge.git"
+DIRECTORY_NAME="ai-at-the-edge"
+CLONE_DIRECTORY="$HOME/notebooks"
+
+mkdir -p $CLONE_DIRECTORY
+cd $CLONE_DIRECTORY
+if test -d "$DIRECTORY_NAME"; then
+  # directory already exists. Just pull to update
+  cd $DIRECTORY_NAME
+  git pull
+else
+  # directory does not exist. Clone the repo
+  git clone $GIT_URL
+fi
\ No newline at end of file
diff --git a/roles/git-clone-or-pull/tasks/main.yml b/roles/git-clone-or-pull/tasks/main.yml
new file mode 100644
index 0000000..ddf1e73
--- /dev/null
+++ b/roles/git-clone-or-pull/tasks/main.yml
@@ -0,0 +1,13 @@
+---
+# roles/git-clone-or-pull
+
+- name: Copy clone-or-pull script to remote fs
+  copy:
+    mode: u=rwx,g=rx,o=rx
+    src: files/clone-or-pull.sh
+    dest: /tmp/clone-or-pull.sh
+
+- name:
+  become: true
+  become_user: "{{ target_user }}"
+  shell: "bash /tmp/clone-or-pull.sh"
\ No newline at end of file
-- 
GitLab