From 05e069fb37eb425e778e1e272835190ee7ac18f8 Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Thu, 23 Mar 2023 10:51:03 +0100
Subject: [PATCH] Factorize .gitlab-ci-env.sh

---
 .gitlab-ci-env.sh               | 41 ++++++++++++++++++++-------------
 .gitlab/build.yml               |  2 +-
 .gitlab/test_starpu_simgrid.yml |  2 +-
 3 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/.gitlab-ci-env.sh b/.gitlab-ci-env.sh
index d3fce945c..e57ebda1d 100755
--- a/.gitlab-ci-env.sh
+++ b/.gitlab-ci-env.sh
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -x
+
 # custom environment used during CI tests with gitlab ci
 
 # these paths may depend on the runner used, please be careful and add
@@ -15,27 +17,34 @@ export STARPU_WORKERS_NOBIND=1
 # initialize empty to get just what we need
 export PKG_CONFIG_PATH=""
 
-# if simgrid change the default starpu dir to use
-if [ "$1" == "simu" ]; then
-  export STARPU_DIR=$STARPUSIMGRID_DIR
-  export PKG_CONFIG_PATH=$SIMGRID_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
-elif [ "$1" == "hip" ]; then
-  export STARPU_DIR=/home/gitlab/install/starpu-hip
-  export PKG_CONFIG_PATH=$STARPU_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
-  export CMAKE_PREFIX_PATH=$STARPU_DIR:/opt/rocm-5.4.2
-  export LD_LIBRARY_PATH=/opt/rocm/lib
-elif [ "$1" == "hipcuda" ]; then
-  export STARPU_DIR=/home/gitlab/install/starpu-hipcuda
-  export PKG_CONFIG_PATH=$STARPU_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
-  export CMAKE_PREFIX_PATH=$STARPU_DIR:$HIPCUDA_DIR
-  export LD_LIBRARY_PATH=$HIPCUDA_DIR/lib
-  export HIP_PLATFORM=nvidia
-  export HIP_PATH=$HIPCUDA_DIR
+# define the starpu dir depending on the build variant
+STARPU_VARIANT=""
+if [ ! -z "$1" ]
+then
+   STARPU_VARIANT="-$1"
 fi
+export STARPU_DIR=/home/gitlab/install/starpu${STARPU_VARIANT}
+
+# add additional env. var. depending on the starpu variant
+case $STARPU_VARIANT in
+  -hip )
+    export CMAKE_PREFIX_PATH=$STARPU_DIR:/opt/rocm
+    export LD_LIBRARY_PATH=/opt/rocm/lib
+    ;;
+  -hipcuda )
+    export CMAKE_PREFIX_PATH=$STARPU_DIR:$HIPCUDA_DIR
+    export LD_LIBRARY_PATH=$HIPCUDA_DIR/lib
+    export HIP_PLATFORM=nvidia
+    export HIP_PATH=$HIPCUDA_DIR
+    ;;
+  * )
+    ;;
+esac
 
 # for build: better to rely on pkg-config than to guess libraries with the env. var.
 export PKG_CONFIG_PATH=$PARSEC_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
 export PKG_CONFIG_PATH=$STARPU_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
+export PKG_CONFIG_PATH=$SIMGRID_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
 
 # for ctest: we need this at runtime
 export LD_LIBRARY_PATH=$PARSEC_DIR/lib:$LD_LIBRARY_PATH
diff --git a/.gitlab/build.yml b/.gitlab/build.yml
index 056e76e4c..dff1db4cb 100644
--- a/.gitlab/build.yml
+++ b/.gitlab/build.yml
@@ -46,7 +46,7 @@ build_starpu_hipcuda:
 build_starpu_simgrid:
   extends: .build_script_template
   variables:
-    CHAM_CI_ENV_ARG: simu
+    CHAM_CI_ENV_ARG: simgrid
     BUILD_OPTIONS: "-DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF"
     VERSION: starpu_simgrid
 
diff --git a/.gitlab/test_starpu_simgrid.yml b/.gitlab/test_starpu_simgrid.yml
index 7cf84967f..0cd7b9ff3 100644
--- a/.gitlab/test_starpu_simgrid.yml
+++ b/.gitlab/test_starpu_simgrid.yml
@@ -18,7 +18,7 @@ test_starpu_simgrid_simu_all:
   <<: *test_starpu_simgrid_branches
   variables:
     STARPU_WORKERS_NOBIND: 1
-    CHAM_CI_ENV_ARG: simu
+    CHAM_CI_ENV_ARG: simgrid
     VERSION: starpu_simgrid
     CATEGORY: simu
     PRECISION: all
-- 
GitLab