diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f07f5e..dbf96fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,18 +1,18 @@ -stages: - - conan - - cmake - - build - - post - - cleanup +include: '/Docker/Linux_Conan/.gitlab-ci.yml' image: conanio/gcc9:latest +stages: + - docker + - build + - packageing + cache: paths: - .conan/ conan: - stage: conan + stage: build script: - export CONAN_USER_HOME=$PWD/.conan #define .conan folder to be inside of project - conan profile new default --detect --force # Generates default profile detecting GCC and sets old ABI diff --git a/Docker/Linux_Conan/.gitlab-ci.yml b/Docker/Linux_Conan/.gitlab-ci.yml new file mode 100644 index 0000000..2a64201 --- /dev/null +++ b/Docker/Linux_Conan/.gitlab-ci.yml @@ -0,0 +1,12 @@ + +# trigger docker rebuild if chages where made +Linux_Conan: + stage: docker + image: docker:latest + services: + - docker:dind + script: + - docker build -t test . + only: + changes: + - Docker/Linux_Conan/* \ No newline at end of file diff --git a/Docker/Linux_Conan/Dockerfile b/Docker/Linux_Conan/Dockerfile new file mode 100644 index 0000000..58e3c00 --- /dev/null +++ b/Docker/Linux_Conan/Dockerfile @@ -0,0 +1,11 @@ +FROM gcc:latest + +ENV PATH=/usr/local/texlive/bin/x86_64-linuxmusl:$PATH + +COPY ./build.sh /tmp/ + +RUN bash /tmp/build.sh + +# Expose /home as workin dir +WORKDIR /home +VOLUME ["/home"] \ No newline at end of file diff --git a/Docker/Linux_Conan/build.sh b/Docker/Linux_Conan/build.sh new file mode 100644 index 0000000..bb362e6 --- /dev/null +++ b/Docker/Linux_Conan/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +apt-get update +apt-get install cmake python3-pip -y -qq +pip3 install conan + +git clone https://gitlab.heili.eu/lukas/dynuiprefresher.git +cd dynuiprefresher || exit +git checkout conansupport + +conan profile new default --detect --force # Generates default profile detecting GCC and sets old ABI +conan profile update settings.compiler.libcxx=libstdc++11 default # Sets libcxx to C++11 ABI +conan remote add bintray https://api.bintray.com/conan/lheili/LibConfig --force +conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan --force +mkdir -p build # create build folder +CONAN_SYSREQUIRES_MODE=enabled CONAN_SYSREQUIRES_SUDO=0 conan install . --build=missing -g none + +# cleanup +cd .. + +rm -Rf ./dynuiprefresher +rm -rf /var/lib/apt/lists/* +rm /tmp/build.sh \ No newline at end of file