diff --git a/.gitlab-ci-env.sh b/.gitlab-ci-env.sh
index ba9cd4dcfa9f48b59dde7a0b91cb2c2b18bdb957..d3fce945c19ed56593c68a3475c479357929e39d 100755
--- a/.gitlab-ci-env.sh
+++ b/.gitlab-ci-env.sh
@@ -19,6 +19,18 @@ export PKG_CONFIG_PATH=""
 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
 fi
 
 # for build: better to rely on pkg-config than to guess libraries with the env. var.
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b8567fc1f04c1b88767d582ccb568db4f5d7b018..d8b822d39283599f02292a1638d73d43109d7e0f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ before_script:
   - git config --global --add safe.directory $CI_PROJECT_DIR/hqr
   - git config --global --add safe.directory $CI_PROJECT_DIR/testing/test_fembem
   - git submodule update --init --recursive
-  - source .gitlab-ci-env.sh $SIMU
+  - source .gitlab-ci-env.sh $CHAM_CI_ENV_ARG
   - mkdir -p build-$VERSION
 
 include:
diff --git a/.gitlab/build.yml b/.gitlab/build.yml
index ad45a43e9622c4e20db32e3e70a29b0a5b632d44..056e76e4cc441035ea90cc1c307fb1ca10238ba7 100644
--- a/.gitlab/build.yml
+++ b/.gitlab/build.yml
@@ -29,10 +29,24 @@ build_starpu:
     BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=ON"
     VERSION: starpu
 
+build_starpu_hip:
+  extends: .build_script_template
+  variables:
+    CHAM_CI_ENV_ARG: hip
+    BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_ROC=ON -DCHAMELEON_USE_MPI=ON"
+    VERSION: starpu_hip
+
+build_starpu_hipcuda:
+  extends: .build_script_template
+  variables:
+    CHAM_CI_ENV_ARG: hipcuda
+    BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_CUDA=ON -DCHAMELEON_HIPBLAS_PATH=/home/gitlab/hipcuda/hipblas -DCHAMELEON_USE_MPI=ON"
+    VERSION: starpu_hipcuda
+
 build_starpu_simgrid:
   extends: .build_script_template
   variables:
-    SIMU: simu
+    CHAM_CI_ENV_ARG: simu
     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 5c688dc94e89a36d11aac62767d86d26c601b766..7cf84967ff24d80ba58274afd230d1a6fad5f663 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
-    SIMU: simu
+    CHAM_CI_ENV_ARG: simu
     VERSION: starpu_simgrid
     CATEGORY: simu
     PRECISION: all