|
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
|