# Gitlab waits until all jobs for a stage are completed before moving to next # stage, so using stages for Windows/Linux builds would wait until the other is # finished before continuing. # # Perhaps relevant in future https://gitlab.com/gitlab-org/gitlab-ce/issues/47063 variables: GIT_SUBMODULE_STRATEGY: recursive CMAKE_ARGS_WINDOWS: '-DCMAKE_GENERATOR_PLATFORM=x64 -DCeres_DIR="C:/Program Files/Ceres" -DPORTAUDIO_INCLUDE_DIRS="C:/Build/src/portaudio/include" -DPORTAUDIO_LIBRARY="C:/Build/bin/portaudio/Release/portaudio_x64.lib" -DPYLON_DIR="C:/Program Files/Basler/pylon 6/Development" -DOpenCV_DIR="C:/Build/bin/opencv/install" -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2" -DWITH_OPENVR=TRUE -DWITH_CERES=TRUE' stages: - all - deploy #### Linux linux: stage: all tags: - linux cache: paths: ext/ variables: FTL_LIB: ../../build/SDK/C/libftl-dev.so LD_LIBRARY_PATH: /opt/pylon/lib/ # before_script: # - export DEBIAN_FRONTEND=noninteractive # - 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 - cd ../SDK/Python - python3 -m unittest discover test webserver-deploy: only: - master stage: deploy tags: - linux variables: NODE_SERVER: '10.0.0.9' script: - npm install web-service - browserify web-service/public/js/index.js -o web-service/public/js/bundle.js - rsync -vr --delete web-service/ nodejs@${NODE_SERVER}:/srv/nodejs/web-service - ssh nodejs@${NODE_SERVER} -- "npm install web-service && pm2 restart web-service" - doxygen - rsync -vr --delete doc/ nodejs@${NODE_SERVER}:/srv/nodejs/doc ### Windows .build-windows: &build-windows - 'call vcvars64.bat' - mkdir build - cd build - cmake %CMAKE_ARGS% %CMAKE_ARGS_WINDOWS% -DREALSENSE_DIR="C:/Program Files (x86)/Intel RealSense SDK 2.0" -DOPENVR_DIR="C:/Program Files (x86)/OpenVRSDK" -DOPUS_DIR="C:/Program Files (x86)/Opus" .. - devenv ftl.utu.fi.sln /build Release - rmdir /q /s "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%" - mkdir "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%" - 'copy "applications\vision\Release\ftl-vision.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"' - 'copy "applications\gui2\Release\ftl-gui2.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"' windows-vision: except: - master stage: all cache: paths: ext/ variables: CMAKE_ARGS: '-DENABLE_PROFILER=TRUE -DWITH_OPTFLOW=TRUE -DBUILD_VISION=TRUE -DBUILD_CALIBRATION=FALSE -DBUILDRECONSTRUCT=FALSE -DBUILDRENDERER=FALSE -DBUILD_TESTING=FALSE -DBUILD_TESTS=FALSE' DEPLOY_DIR: 'C:/Shared/AutoDeploy' tags: - win script: - *build-windows windows-master: only: - master stage: all cache: paths: ext/ variables: CMAKE_ARGS: '-DWITH_OPTFLOW=TRUE' DEPLOY_DIR: 'C:/Shared/AutoDeploy' tags: - win script: - *build-windows # - set PATH=%PATH%;C:/Shared/Deploy # - ctest --output-on-failure --timeout 60