Skip to content
Snippets Groups Projects
Select Git revision
  • c6f1bce730e9256b1d79fa9c62f5dc1e28f405b7
  • main default protected
  • 2.12.1
  • 2.6.0
  • 2.4.1
  • 2.0.17
  • 2.0.13
  • 2.0.10
  • 2.0.8
  • 2.0.7
  • 2.0.5
  • 2.0.4
  • 2.0.3
  • 2.0.2
  • 2.0.1
  • 1.59.0
  • 1.57.0
  • 1.55.0
  • 1.54.0
19 results

.gitlab-ci.yml

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Dockerfile 3.10 KiB
    FROM gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/dev-el7-gcc48
    
    LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
    
    ARG PYTHON_VERSION=3.6.13 \
        CONAN_VERSION=1.53.0 \
        CMAKE_VERSION=3.24.2 \
        GIT_VERSION=2.36.2 \
        DEVTOOLS_ROOT=/usr/Local/devtools \
        OS=linux-el7 \
        ARCH=x86_64
    
    ENV PYTHON_ROOT=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH} \
        CONAN_ROOT=${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-${OS}-${ARCH} \
        CMAKE_ROOT=${DEVTOOLS_ROOT}/cmake-${CMAKE_VERSION}-${OS}-${ARCH} \
        GIT_ROOT=${DEVTOOLS_ROOT}/git-${GIT_VERSION}-${OS}-${ARCH} \
        PATH=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH}/bin:${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-${OS}-${ARCH}/bin:${DEVTOOLS_ROOT}/cmake-${CMAKE_VERSION}-${OS}-${ARCH}/bin:${DEVTOOLS_ROOT}/git-${GIT_VERSION}-${OS}-${ARCH}/bin:${PATH} \
        PYTHONPATH=${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-${OS}-${ARCH}/lib/python3.6/site-packages \
        CXX=/usr/bin/g++ \
        CC=/usr/bin/gcc
    
    RUN yum -y install sudo \
        # Creation of conan user
        && groupadd g1001 -g 1001 \
        && groupadd g1000 -g 1000 \
        && groupadd g2000 -g 2000 \
        # Creation of conan user
        && useradd -ms /bin/bash conan -u 1000 -g 1001 -G 1000,2000,999 \
        # Add sudo for conan user
        && printf "conan:conan" | chpasswd \
        && printf "conan ALL= NOPASSWD: ALL\\n" >> /etc/sudoers \
        # Create devtools folder
        && mkdir -p ${DEVTOOLS_ROOT} \
        # Install python 3
        && curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/main/download?job=linux-el7-x86_64 \
        && unzip -q ${PYTHON_ROOT}.zip -d ${DEVTOOLS_ROOT} \
        && rm ${PYTHON_ROOT}.zip \
        # Install git
        && curl -s -L -o ${GIT_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/git/-/jobs/artifacts/main/download?job=linux-el7-x86_64 \
        && unzip -q ${GIT_ROOT}.zip -d ${DEVTOOLS_ROOT} \
        && rm ${GIT_ROOT}.zip \
        # Install cmake from binaries distribution to get recent version without compilation (compilation needs c++11)
        && CMAKE_VERSION_MAJOR_MINOR=$(echo ${CMAKE_VERSION} | sed 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\1\.\2/') \ 
        && curl -s https://cmake.org/files/v${CMAKE_VERSION_MAJOR_MINOR}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz | tar -xzf - -C ${DEVTOOLS_ROOT} \
            --exclude=bin/cmake-gui \
            --exclude=doc/cmake \
            --exclude=share/cmake-${CMAKE_VERSION_MAJOR_MINOR}/Help \
            --exclude=share/vim \
        && mv ${DEVTOOLS_ROOT}/cmake-${CMAKE_VERSION}-linux-x86_64 ${CMAKE_ROOT} \
        # Install conan
        && ${PYTHON_ROOT}/bin/pip3 install -q --no-cache-dir --prefix=${CONAN_ROOT} conan==${CONAN_VERSION} conan-package-tools \
        # Fix python shebang to make it independent of install path
        && grep -I -r -l  "^#\!${PYTHON_ROOT}/bin/python.*$" ${CONAN_ROOT} | xargs sed -i '1c\#\!/usr/bin/env python' \
        # Clean pycache
        && find ${CONAN_ROOT} -iname __pycache__ -print0 | xargs -0 rm -rf \
        && yum clean all --enablerepo='*'
    
    USER conan
    WORKDIR /home/conan
    
    RUN mkdir -p /home/conan/.conan