diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 336027440ceace5b944fb58daa8514323a9fea39..1e3717fd7b927ba0c9f2fefa7ca3852b6f55bd26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - CONAN_VERSION: "1.59.0" + CONAN_VERSION: "2.0.2" PYTHON_VERSION: "3.6.13" workflow: @@ -16,16 +16,21 @@ stages: .build: stage: build script: + # Install prerequisites for pyinstaller + - yum install -y zlib-devel # 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 -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} conan-package-tools - # 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 + - export PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin:$PATH + - export LD_LIBRARY_PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/lib + # Install source of conan + - curl -s -L -o conan-${CONAN_VERSION}.zip https://github.com/conan-io/conan/archive/refs/tags/${CONAN_VERSION}.zip + - unzip -q conan-${CONAN_VERSION}.zip + - cd ${CI_PROJECT_DIR}/conan-${CONAN_VERSION} + - pip install -e . + - 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 +39,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 diff --git a/README.md b/README.md index a0d4abf3e73e6b936a3264ce8e1bbe682b4f4638..ec87317bbbed5b5e037ba698c553187417ead3e1 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Conan -Pipeline to create Conan package for Python 3.6.13. +Pipeline to create Conan package Conan 1.59.0 for: -* Linux 32 bits: [conan-1.59.0-linux-python-3.6.13-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/conan/-/jobs/artifacts/python-3.6.13/download?job=linux-i686) -* Linux 64 bits: [conan-1.59.0-linux-python-3.6.13-x86_64.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/git/-/jobs/artifacts/python-3.6.13//download?job=linux-x86_64) +* Linux 32 bits: [conan-1.59.0-linux-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/conan/-/jobs/artifacts/1.59.0/download?job=linux-i686) +* Linux 64 bits: [conan-1.59.0-linux-x86_64.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/git/-/jobs/artifacts/1.59.0/download?job=linux-x86_64)