diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f294f78bfc8adb9a9cc67eaf70d77ea738ee329..c8856cd9841b1ed5451abc93e1af558b4dfdf718 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,12 +25,7 @@ build: # - apt-get update -qq && apt-get install -y -qq g++ cmake git # - apt-get install -y -qq libopencv-dev libgoogle-glog-dev liburiparser-dev libreadline-dev libmsgpack-dev uuid-dev script: - - mkdir build - - cd build - - /snap/bin/cmake .. -GNinja -DCMAKE_CXX_FLAGS="-fdiagnostics-color" -DWITH_OPTFLOW=TRUE -DUSE_CPPCHECK=FALSE -DBUILD_CALIBRATION=TRUE -DWITH_CERES=TRUE -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=DEB - - ninja - - ninja package - - ctest --output-on-failure + - ./docker/CI/pipeline-script.sh # - cd ../SDK/Python # - python3 -m unittest discover test diff --git a/docker/CI/Dockerfile b/docker/CI/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..3b55e246f255e785c4b317ceb9d83786b3bc304d --- /dev/null +++ b/docker/CI/Dockerfile @@ -0,0 +1,19 @@ +FROM ftlab/base:1.0-dev + +RUN mkdir /opt/ftl +WORKDIR /opt/ftl +COPY ./applications ./applications +COPY ./cmake ./cmake +COPY ./components ./components +COPY ./lib ./lib +COPY ./ext ./ext +COPY ./SDK ./SDK + +CMD mkdir build &&\ + cd build &&\ + cmake .. -GNinja -DCMAKE_CXX_FLAGS="-fdiagnostics-color" -DWITH_OPTFLOW=TRUE -DUSE_CPPCHECK=FALSE -DBUILD_CALIBRATION=TRUE -DWITH_CERES=TRUE -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=DEB &&\ + ninja &&\ + ninja package &&\ + ctest --output-on-failure + + diff --git a/docker/CI/container-script.sh b/docker/CI/container-script.sh new file mode 100755 index 0000000000000000000000000000000000000000..6d6423a1fcb66ec7a719cd2d03719099907f968e --- /dev/null +++ b/docker/CI/container-script.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +cd /opt/ftl +mkdir build +cd build +cmake .. -GNinja -DCMAKE_CXX_FLAGS="-fdiagnostics-color" -DWITH_OPTFLOW=TRUE -DUSE_CPPCHECK=FALSE -DBUILD_CALIBRATION=TRUE -DWITH_CERES=TRUE -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=DEB +ninja +ninja package +ctest --output-on-failure diff --git a/docker/CI/pipeline-script.sh b/docker/CI/pipeline-script.sh new file mode 100755 index 0000000000000000000000000000000000000000..16e9c04e0e16b2a69d853689af3afdb9a276a186 --- /dev/null +++ b/docker/CI/pipeline-script.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +docker run \ + --runtime=nvidia \ + --device=/dev/snd \ + --device=/dev/bus/usb \ + -e NVIDIA_DRIVER_CAPABILITIES=graphics,compute,utility,video \ + -v "${PWD}:/opt/ftl" \ + -it \ + ftlab/base:1.0-dev \ + /opt/ftl/docker/CI/container-script.sh + \ No newline at end of file