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

Add conan-el7-gcc114

parent 70e37d7c
No related branches found
No related tags found
No related merge requests found
Pipeline #6324 failed
Pipeline: conan-docker-tools

#6334

    Pipeline: conan-docker-tools

    #6333

      Pipeline: conan-docker-tools

      #6332

        +7
        ...@@ -54,7 +54,13 @@ conan-el7-gcc93-x86: ...@@ -54,7 +54,13 @@ conan-el7-gcc93-x86:
        trigger: trigger:
        include: conan-el7-gcc93-x86/.gitlab-ci.yml include: conan-el7-gcc93-x86/.gitlab-ci.yml
        strategy: depend strategy: depend
        conan-el7-gcc114:
        stage: triggers
        trigger:
        include: conan-el7-gcc114/.gitlab-ci.yml
        strategy: depend
        conan-el9-gcc114: conan-el9-gcc114:
        stage: triggers stage: triggers
        trigger: trigger:
        ......
        ...@@ -17,13 +17,15 @@ All images include: ...@@ -17,13 +17,15 @@ All images include:
        | conan-el7-gcc48-x86 | CentOS 7 | i686 | gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) | | 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 | 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-gcc93-x86 | CentOS 7 | i686 | gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) |
        | conan-el7-gcc114 | CentOS 7 | x86_64 | gcc (conda-forge gcc 11.4.0-13) 11.4.0 |
        | conan-el9-gcc114 | Rocky Linux 9 | x86_64 | gcc (conda-forge gcc 11.4.0-13) 11.4.0 |
        ## Build ## Build
        ### To build one image ### To build one image
        ``` ```
        docker-compose -f conan-el6-gcc44\docker-compose.yml build docker-compose -f conan-el6-gcc44/docker-compose.yml build
        ``` ```
        ### To build an image manually without docker-compose ### To build an image manually without docker-compose
        ...@@ -42,12 +44,12 @@ $ docker build --build-arg http_proxy --build-arg https_proxy --build-arg no_pro ...@@ -42,12 +44,12 @@ $ docker build --build-arg http_proxy --build-arg https_proxy --build-arg no_pro
        ### To launch one with docker-compose ### To launch one with docker-compose
        ``` ```
        $ docker-compose run --rm conan-el6-gcc44 $ docker-compose -f conan-el6-gcc44/docker-compose.yml run --rm conan-el6-gcc44
        ``` ```
        ### To launch one x86 with docker-compose ### To launch one x86 with docker-compose
        ``` ```
        $ docker-compose run --rm conan-el6-gcc44-x86 $ docker-compose -f conan-el6-gcc44-x86/docker-compose.yml run --rm conan-el6-gcc44-x86
        ``` ```
        ### To launch one container without docker-compose ### To launch one container without docker-compose
        ......
        image: docker:latest
        services:
        - docker:dind
        variables:
        NAME: conan-el7-gcc114
        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_DEPLOY_PASSWORD}" | docker login ${CI_REGISTRY} -u ${CI_DEPLOY_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 "11.4.0"
        - docker run --rm ${CONTAINER_TEST_IMAGE} cmake --version | grep "3.31.5"
        - docker run --rm ${CONTAINER_TEST_IMAGE} git --version | grep "2.47.1"
        - docker run --rm ${CONTAINER_TEST_IMAGE} python --version | grep "3.13.1"
        - docker run --rm ${CONTAINER_TEST_IMAGE} conan --version | grep "2.12.1"
        - docker run --rm ${CONTAINER_TEST_IMAGE} jq --version | grep "1.7.1"
        - docker run --rm ${CONTAINER_TEST_IMAGE} yq --version | grep "3.4.3"
        release:
        stage: release
        script:
        - docker pull ${CONTAINER_TEST_IMAGE}
        - docker tag ${CONTAINER_TEST_IMAGE} ${CONTAINER_RELEASE_IMAGE}
        - docker push ${CONTAINER_RELEASE_IMAGE}
        FROM centos:7
        LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
        ENV MAMBA_ROOT_PREFIX=/opt/micromamba
        ENV PATH=${MAMBA_ROOT_PREFIX}/bin:$PATH
        # Configure micromamba environment
        COPY conan-el7-gcc114/environment.yml /tmp/environment.yml
        RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime \
        # Fix Centos repo urls
        && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
        && sed -i 's|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
        && yum update -y \
        && yum install -y curl bzip2 git \
        && yum clean all \
        # Add groups
        && 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 \
        # Install micromamba
        && curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba \
        # Install environment with micromamba
        && micromamba create -y -f /tmp/environment.yml && \
        rm /tmp/environment.yml
        COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        # Activate environment when launching command
        ENTRYPOINT ["bash", "-c" ,"eval \"$(micromamba shell hook --shell bash)\" && micromamba activate conan-el7-gcc114 && \"$@\"", "-s"]
        # Define default shell and activate environment
        SHELL ["/bin/bash", "-c"]
        RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc && \
        echo 'micromamba activate conan-el7-gcc114' >> ~/.bashrc
        # Lauch interactive shell by default
        CMD ["/bin/bash"]
        version: "3.8"
        services:
        conan-el7-gcc114:
        build:
        context: ..
        dockerfile: conan-el7-gcc114/Dockerfile
        args:
        - http_proxy
        - https_proxy
        - no_proxy
        image: "gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/conan-el7-gcc114"
        container_name: conan-el7-gcc114
        tty: true
        environment:
        - http_proxy
        - https_proxy
        - no_proxy
        name: conan-el7-gcc114
        channels:
        - conda-forge
        dependencies:
        - cmake=3.31.5
        - conan=2.12.1
        - git=2.47.1
        - jq=1.7.1
        - yq=3.4.3
        - gcc=11.4
        - gxx=11.4
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment