Skip to content
Snippets Groups Projects
Commit 4922a3fb authored by MADELA Patrick's avatar MADELA Patrick
Browse files

Add platform conan-el7-gcc112 with RedHat GCC 11

parent 13be9800
No related branches found
No related tags found
No related merge requests found
Pipeline #6499 passed
Pipeline: conan-docker-tools

#6510

    Pipeline: conan-docker-tools

    #6509

      Pipeline: conan-docker-tools

      #6508

        +8
        ......@@ -55,6 +55,12 @@ conan-el7-gcc93-x86:
        include: conan-el7-gcc93-x86/.gitlab-ci.yml
        strategy: depend
        conan-el7-gcc112:
        stage: triggers
        trigger:
        include: conan-el7-gcc112/.gitlab-ci.yml
        strategy: depend
        conan-el7-gcc114:
        stage: triggers
        trigger:
        ......
        ......@@ -17,6 +17,7 @@ All images include:
        | conan-el7-gcc48-x86 | CentOS 7 | i686 | gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) |
        | conan-el7-gcc93 | CentOS 7 | x86_64 | gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) |
        | conan-el7-gcc93-x86 | CentOS 7 | i686 | gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) |
        | conan-el7-gcc112 | CentOS 7 | x86_64 | gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) |
        | conan-el7-gcc114 | CentOS 7 | x86_64 | gcc (conda-forge gcc 11.4.0-13) 11.4.0 |
        | conan-el9-gcc115 | Rocky Linux 9 | x86_64 | gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) |
        ......
        image: docker:latest
        services:
        - docker:dind
        variables:
        NAME: conan-el7-gcc112
        CONTAINER_TEST_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:$CI_COMMIT_REF_SLUG
        CONTAINER_RELEASE_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:latest
        stages:
        - build
        - test
        - release
        before_script:
        - echo "${CI_JOB_TOKEN}" | docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} --password-stdin
        build:
        stage: build
        script:
        - docker build --pull -t ${CONTAINER_TEST_IMAGE} -f ${NAME}/Dockerfile .
        - docker push ${CONTAINER_TEST_IMAGE}
        test:
        stage: test
        script:
        - docker run --rm ${CONTAINER_TEST_IMAGE} cat /etc/centos-release | grep "CentOS Linux release 7"
        - docker run --rm ${CONTAINER_TEST_IMAGE} uname -m | grep "x86_64"
        - docker run --rm ${CONTAINER_TEST_IMAGE} gcc --version | grep "gcc (GCC) 11\.2"
        - docker run --rm ${CONTAINER_TEST_IMAGE} cmake --version | grep "3.31.5"
        - docker run --rm ${CONTAINER_TEST_IMAGE} git --version | grep "2.39.2"
        - docker run --rm ${CONTAINER_TEST_IMAGE} python --version | grep "3.6.13"
        - docker run --rm ${CONTAINER_TEST_IMAGE} conan --version | grep "2.12.1"
        - docker run --rm ${CONTAINER_TEST_IMAGE} jq --version
        - docker run --rm ${CONTAINER_TEST_IMAGE} yq --version
        release:
        stage: release
        script:
        - docker pull ${CONTAINER_TEST_IMAGE}
        - docker tag ${CONTAINER_TEST_IMAGE} ${CONTAINER_RELEASE_IMAGE}
        - docker push ${CONTAINER_RELEASE_IMAGE}
        FROM gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-docker-tools/dev-el7-gcc112
        LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
        ARG PYTHON_VERSION=3.6.13 \
        CONAN_VERSION=2.12.1 \
        CMAKE_VERSION=3.31.5 \
        GIT_VERSION=2.39.2 \
        DEVTOOLS_ROOT=/usr/Local/devtools \
        OS=linux \
        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}/bin:${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH}/bin:${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-${OS}-${ARCH}:${DEVTOOLS_ROOT}/cmake-${CMAKE_VERSION}-${OS}-${ARCH}/bin:${DEVTOOLS_ROOT}/git-${GIT_VERSION}-${OS}-${ARCH}/bin:${PATH} \
        LD_LIBRARY_PATH=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH}/lib \
        CXX=/opt/rh/devtoolset-11/root/usr/bin/g++ \
        CC=/opt/rh/devtoolset-11/root/usr/bin/gcc
        RUN 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/3.6.13/download?job=linux-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/2.39.2/download?job=linux-x86_64 \
        && unzip -q ${GIT_ROOT}.zip -d ${DEVTOOLS_ROOT} \
        && rm ${GIT_ROOT}.zip \
        # Install cmake
        && 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 \
        # Install conan
        && curl -s -L -o ${CONAN_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/conan/-/jobs/artifacts/2.12.1/download?job=linux-x86_64 \
        && unzip -q ${CONAN_ROOT}.zip -d ${DEVTOOLS_ROOT} \
        && rm ${CONAN_ROOT}.zip \
        # Install other tools
        && mkdir ${DEVTOOLS_ROOT}/bin \
        && curl -s -L -o ${DEVTOOLS_ROOT}/bin/jq https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-amd64 \
        && curl -s -L -o ${DEVTOOLS_ROOT}/bin/yq https://github.com/mikefarah/yq/releases/download/v4.34.2/yq_linux_amd64 \
        && chmod +x ${DEVTOOLS_ROOT}/bin/*
        COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-11 && \"$@\"", "-s"]
        CMD ["bash"]
        version: "3.8"
        services:
        conan-el7-gcc112:
        build:
        context: ..
        dockerfile: conan-el7-gcc112/Dockerfile
        args:
        - http_proxy
        - https_proxy
        - no_proxy
        image: "gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/conan-el7-gcc112"
        container_name: conan-el7-gcc112
        tty: true
        environment:
        - http_proxy
        - https_proxy
        - no_proxy
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment