Blame .gitlab-ci.yml

Packit Service 21b5d1
# all builds use the same ccache folder in the project root that is cached
Packit Service 21b5d1
variables:
Packit Service 21b5d1
  CCACHE_BASEDIR: '$CI_PROJECT_DIR'
Packit Service 21b5d1
  CCACHE_DIR: '$CI_PROJECT_DIR/ccache'
Packit Service 21b5d1
Packit Service 21b5d1
# default config for all distros:
Packit Service 21b5d1
# - install dependencies via script
Packit Service 21b5d1
# - create ccache dir & setup caching of it (for each job separately)
Packit Service 21b5d1
.build_config: &default_config
Packit Service 21b5d1
  before_script:
Packit Service 21b5d1
    - ci/install_dependencies.sh
Packit Service 21b5d1
    - mkdir -p ccache
Packit Service 21b5d1
  cache:
Packit Service 21b5d1
    key: "$CI_JOB_NAME"
Packit Service 21b5d1
    paths:
Packit Service 21b5d1
      - ccache/
Packit Service 21b5d1
Packit Service 21b5d1
# default build job:
Packit Service 21b5d1
# - run build script
Packit Service 21b5d1
# - only create artifacts of the build directory when something fails
Packit Service 21b5d1
#   (for cmake logs)
Packit Service 21b5d1
.build_template: &distro_build
Packit Service 21b5d1
  script:
Packit Service 21b5d1
    - python3 ci/test_build.py
Packit Service 21b5d1
  artifacts:
Packit Service 21b5d1
    when: on_failure
Packit Service 21b5d1
    paths:
Packit Service 21b5d1
      - build/
Packit Service 21b5d1
Packit Service 21b5d1
stages:
Packit Service 21b5d1
  - test
Packit Service 21b5d1
  - deploy
Packit Service 21b5d1
Packit Service 21b5d1
Fedora:
Packit Service 21b5d1
  image: fedora:28
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
Fedora_MinGW:
Packit Service 21b5d1
  image: fedora:29
Packit Service 21b5d1
  before_script:
Packit Service 21b5d1
    - dnf -y upgrade
Packit Service 21b5d1
    - dnf -y install mingw64-gcc-c++ mingw64-filesystem mingw64-expat mingw64-zlib cmake make
Packit Service 21b5d1
  script:
Packit Service 21b5d1
    - python3 ci/test_build.py --without-tests --cmake-executable "mingw64-cmake" --cmake-options "-DEXIV2_TEAM_EXTRA_WARNINGS=ON -DEXIV2_ENABLE_VIDEO=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_WIN_UNICODE=ON " --compilers --shared-libs OFF
Packit Service 21b5d1
Packit Service 21b5d1
Debian:
Packit Service 21b5d1
  image: debian:9
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
Archlinux:
Packit Service 21b5d1
  image: archlinux/base
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
Ubuntu:
Packit Service 21b5d1
  image: ubuntu:18.04
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
CentOS:
Packit Service 21b5d1
  image: centos:7
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
OpenSUSE:
Packit Service 21b5d1
  image: opensuse/tumbleweed
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  <<: *distro_build
Packit Service 21b5d1
Packit Service 21b5d1
Install:
Packit Service 21b5d1
  image: fedora:28
Packit Service 21b5d1
  stage: deploy
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  script:
Packit Service 21b5d1
    - mkdir build && cd build
Packit Service 21b5d1
    - cmake -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_VIDEO=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DCMAKE_INSTALL_PREFIX=/usr/ -DBUILD_WITH_CCACHE=ON ..
Packit Service 21b5d1
    - make -j $(nproc)
Packit Service 21b5d1
    - make install
Packit Service 21b5d1
    - make clean
Packit Service 21b5d1
    - EXIV2_BINDIR=/usr/bin/ make tests
Packit Service 21b5d1
Packit Service 21b5d1
pages:
Packit Service 21b5d1
  image: fedora:28
Packit Service 21b5d1
  stage: deploy
Packit Service 21b5d1
  <<: *default_config
Packit Service 21b5d1
  script:
Packit Service 21b5d1
    - dnf -y install doxygen graphviz
Packit Service 21b5d1
    - mkdir build && cd build
Packit Service 21b5d1
    - cmake -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_VIDEO=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_BUILD_DOC=ON ..
Packit Service 21b5d1
    - make doc
Packit Service 21b5d1
    - cd ..
Packit Service 21b5d1
    - mv build/doc/html/ public/
Packit Service 21b5d1
  artifacts:
Packit Service 21b5d1
    paths:
Packit Service 21b5d1
      - public
Packit Service 21b5d1
  only:
Packit Service 21b5d1
    - master