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