From f830607bd3fcb06385547541948cca5d89a8c61d Mon Sep 17 00:00:00 2001
From: MADELA Patrick <patrick.madela@synchrotron-soleil.fr>
Date: Thu, 16 Mar 2023 20:11:13 +0100
Subject: [PATCH] Update build to create self-contained executable

---
 .gitlab-ci.yml | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9fab765..d229bc3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,5 @@
 variables:
-  CONAN_VERSION: "2.0.1"
+  CONAN_VERSION: "2.0.2"
   PYTHON_VERSION: "3.6.13"
 
 workflow:
@@ -20,12 +20,13 @@ stages:
     - curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/3.6.13/download?job=${PLATFORM}
     - unzip -q ${PYTHON_ROOT}.zip -d ${CI_PROJECT_DIR}
     - rm -f ${PYTHON_ROOT}.zip
-    # Install conan
-    - ${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python -m pip install -q --no-cache-dir --prefix=${CI_PROJECT_DIR}/${CONAN_ROOT} conan==${CONAN_VERSION}
-    # Fix python shebang to make it independent of install path
-    - grep -I -r -l  "^#\!${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python.*$" ${CI_PROJECT_DIR}/${CONAN_ROOT} | xargs sed -i '1c\#\!/usr/bin/env python'
-    # Clean pycache
-    - find ${CI_PROJECT_DIR}/${CONAN_ROOT} -iname __pycache__ -print0 | xargs -0 rm -rf
+    # Install source of conan
+    - curl -s -L -o conan-${CONAN_VERSION}.zip https://github.com/conan-io/conan/archive/{CONAN_VERSION}.zip
+    - unzip -q conan-${CONAN_VERSION}.zip
+    - cd ${CI_PROJECT_DIR}/conan-${CONAN_VERSION}
+    - ${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python -m pip install -e .
+    - ${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python pyinstaller.py
+    - mv ${CI_PROJECT_DIR}/conan-${CONAN_VERSION}/pyinstaller/dist/conan ${CI_PROJECT_DIR}/${CONAN_ROOT}
   artifacts:
     name: ${CONAN_ROOT}
     paths:
@@ -34,14 +35,7 @@ stages:
 .test:
   stage: test
   script:
-    # Install python 3
-    - curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/3.6.13/download?job=${PLATFORM}
-    - unzip -q ${PYTHON_ROOT}.zip -d ${CI_PROJECT_DIR}
-    - rm ${PYTHON_ROOT}.zip
-    # Test 
-    - export PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin:$PATH
-    - export PYTHONPATH=${CI_PROJECT_DIR}/${CONAN_ROOT}/lib/python3.6/site-packages
-    - ${CI_PROJECT_DIR}/${CONAN_ROOT}/bin/conan --version | grep ${CONAN_VERSION}
+    - ${CI_PROJECT_DIR}/${CONAN_ROOT}/conan --version | grep ${CONAN_VERSION}
 
 .package:
   stage: package
-- 
GitLab