# Dependencies are managed in the Dockerfile in the inkscape-ci-docker # Git repository. Change them there, wait a bit, and then we'll use # the new ones here in these builds. image: registry.gitlab.com/inkscape/inkscape-ci-docker/master cache: paths: - ccache/ # Building inkscape inkscape:linux: stage: build before_script: # CCache Config - mkdir -p ccache - export CCACHE_BASEDIR=${PWD} - export CCACHE_DIR=${PWD}/ccache script: - mkdir -p build - cd build - cmake .. -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug - make -j3 - cd .. artifacts: expire_in: 1 year paths: - build/ inkscape:mac: stage: build tags: - mac before_script: - brew update - brew upgrade # Tools - brew install cmake intltool libtool pkg-config ccache # Libraries - brew install bdw-gc boost gdl gettext gsl gtkmm3 libcdr libvisio libwpg pango popt poppler potrace # Testing tools # TODO # Cleanup - brew cleanup # CCache Config - mkdir -p ccache - export CCACHE_BASEDIR=${PWD} - export CCACHE_DIR=${PWD}/ccache script: - mkdir -p build - cd build - cmake .. -DIntl_INCLUDE_DIR=/usr/local/opt/gettext/include -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug - make -j1 - cd .. artifacts: expire_in: 1 year paths: - build/ allow_failure: true # This job is a static analysis build by clang. # It takes MORE THAN 3 HOURS, and depending on worker sometimes 4 hours. # Make sure the timeout of the build is big enough clang: stage: build only: - schedules script: - apt-get update -yqq && apt-get install -y clang-3.8 clang - mkdir -p clang-build - cd clang-build - scan-build cmake .. -DCMAKE_BUILD_TYPE=Debug - VERBOSE=1 scan-build -o ../scan make -j2 artifacts: paths: - scan/ test:linux: stage: test dependencies: - inkscape:linux script: - cd build - make test # uploads the clang scan to user.gitlab.io/inkscape/ pages: stage: deploy when: manual dependencies: - clang script: - if test -e scan; then cp -r scan/* public; fi artifacts: paths: - public only: - master