# 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 variables: GIT_DEPTH: "10" GIT_SUBMODULE_STRATEGY: recursive 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/conf - ln -s . share/inkscape - cd build - cmake .. -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install_dir/ - make -j3 install - make -j3 tests - cpack -G DEB - cd .. artifacts: expire_in: 1 year paths: - build/ inkscape:mac: stage: build tags: - mac only: - branches@inkscape/inkscape 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 gtkspell3 imagemagick@6 jemalloc libcdr libvisio libyaml libwpg pango popt poppler potrace libsoup # 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 .. -DCMAKE_PREFIX_PATH="/usr/local/opt/gettext;/usr/local/opt/imagemagick@6/;/usr/local/opt/icu4c/" -DWITH_OPENMP=OFF -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 codequality: stage: build script: - git fetch https://gitlab.com/inkscape/inkscape.git - echo "Your commit does not comply exactly with the clang-format style checker.\nPlease review the following diff or apply it with\n \$ git apply < POTFILES.in.1 - ./generate_POTFILES.sh - grep -v "^#" POTFILES.in > POTFILES.in.2 # update inkscape.pot and sync all .po files - intltool-update --pot && mv untitled.pot inkscape.pot - ./update_po_files.sh # check if POTFILES.in should be updated in the repo (shall we automate this?) - 'if [ -n "$(diff POTFILES.in.1 POTFILES.in.2)" ]; then echo "New translatable source files were added."; echo "Please update POTFILES.in so they can be translated (or add them to POTFILES.skip)"; exit 1; fi' - rm POTFILES.in.1 POTFILES.in.2 artifacts: name: "translations" paths: - po/ when: always # uploads the clang scan to user.gitlab.io/inkscape/ pages: stage: deploy dependencies: - source-doc - clang script: - mkdir -p public/ - sed "s/%DATE%/$(date '+%B %d, %Y')/" buildtools/ci-index.html > public/index.html - if test -e scan; then cp -rv scan/* public/scan-build; fi - if test -e doc/doxygen; then cp -rv doc/doxygen/html public/doxygen; fi - if test -e doc/doxygen-extensions; then cp -rv doc/doxygen-extensions/html public/doxygen-extensions; fi artifacts: paths: - public only: - schedules