You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
exiv2/.gitlab-ci.yml

100 lines
2.4 KiB
YAML

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