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

Rename image based on conda-forge and add image based on compiled gcc

parent 4922a3fb
No related branches found
No related tags found
No related merge requests found
...@@ -64,7 +64,13 @@ conan-el7-gcc112: ...@@ -64,7 +64,13 @@ conan-el7-gcc112:
conan-el7-gcc114: conan-el7-gcc114:
stage: triggers stage: triggers
trigger: trigger:
include: conan-el7-gcc114/.gitlab-ci.yml include: conan-el7-gcc114-conda-forge/.gitlab-ci.yml
strategy: depend
conan-el7-gcc115:
stage: triggers
trigger:
include: conan-el7-gcc115/.gitlab-ci.yml
strategy: depend strategy: depend
conan-el9-gcc115: conan-el9-gcc115:
......
...@@ -19,6 +19,7 @@ All images include: ...@@ -19,6 +19,7 @@ All images include:
| 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-gcc112 | CentOS 7 | x86_64 | gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) | | 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-el7-gcc114 | CentOS 7 | x86_64 | gcc (conda-forge gcc 11.4.0-13) 11.4.0 |
| conan-el7-gcc115 | CentOS 7 | x86_64 | gcc (GCC) 11.5.0 |
| conan-el9-gcc115 | Rocky Linux 9 | x86_64 | gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) | | conan-el9-gcc115 | Rocky Linux 9 | x86_64 | gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) |
## Build ## Build
......
...@@ -3,7 +3,7 @@ services: ...@@ -3,7 +3,7 @@ services:
- docker:dind - docker:dind
variables: variables:
NAME: conan-el7-gcc114 NAME: conan-el7-gcc114-conda-forge
CONTAINER_TEST_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:$CI_COMMIT_REF_SLUG CONTAINER_TEST_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:$CI_COMMIT_REF_SLUG
CONTAINER_RELEASE_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:latest CONTAINER_RELEASE_IMAGE: ${CI_REGISTRY_IMAGE}/${NAME}:latest
......
version: "3.8"
services:
conan-el7-gcc114-conda-forge:
build:
context: ..
dockerfile: conan-el7-gcc114-conda-forge/Dockerfile
args:
- http_proxy
- https_proxy
- no_proxy
image: "gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/conan-el7-gcc114-conda-forge"
container_name: conan-el7-gcc114-conda-forge
tty: true
environment:
- http_proxy
- https_proxy
- no_proxy
image: docker:latest
services:
- docker:dind
variables:
NAME: conan-el7-gcc115
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\.5"
- 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 centos:7
LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
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-* \
# Update OS
&& yum -y update \
# Install epel repo
&& yum -y install epel-release \
&& yum -y install unzip sudo make glibc-devel \
&& yum clean all --enablerepo='*'
ARG PYTHON_VERSION=3.6.13 \
CONAN_VERSION=2.12.1 \
CMAKE_VERSION=3.31.5 \
GIT_VERSION=2.39.2 \
GCC_VERSION=11.5.0 \
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} \
GCC_ROOT=${DEVTOOLS_ROOT}/gcc-${GCC_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}:${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/bin:${PATH} \
LD_LIBRARY_PATH=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH}/lib:${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/lib64 \
CXX=${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/bin/g++ \
CC=${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/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/* \
# Install gcc
&& curl -s -L -o ${GCC_ROOT}.zip https://controlforge.synchrotron-soleil.fr/artifactory/generic-local/soleil/gcc/11.5.0/gcc-11.5.0-linux-x86_64.zip \
&& mkdir -p ${DEVTOOLS_ROOT} \
&& unzip -q ${GCC_ROOT}.zip -d ${GCC_ROOT} \
&& rm ${GCC_ROOT}.zip
COPY environment /etc/environment
USER conan
WORKDIR /home/conan
ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
CMD ["bash"]
version: "3.8" version: "3.8"
services: services:
conan-el7-gcc114: conan-el7-gcc115:
build: build:
context: .. context: ..
dockerfile: conan-el7-gcc114/Dockerfile dockerfile: conan-el7-gcc115/Dockerfile
args: args:
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
image: "gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/conan-el7-gcc114" image: "gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/conan-docker-tools/conan-el7-gcc115"
container_name: conan-el7-gcc114 container_name: conan-el7-gcc115
tty: true tty: true
environment: environment:
- http_proxy - http_proxy
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment