-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy path.travis.yml
50 lines (50 loc) · 2.4 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
language: cpp
dist: xenial
sudo: required
env:
matrix:
- DISTRO=ubuntu-14.04 CONF=Debug
- DISTRO=ubuntu-14.04 CONF=Release
- DISTRO=ubuntu-16.04 CONF=Debug
- DISTRO=ubuntu-16.04 CONF=Release
- DISTRO=ubuntu-18.04 CONF=Debug
- DISTRO=ubuntu-18.04 CONF=Release
- DISTRO=ubuntu-18.10 CONF=Debug
- DISTRO=ubuntu-18.10 CONF=Release
- DISTRO=ubuntu-19.04 CONF=Debug
- DISTRO=ubuntu-19.04 CONF=Release
- DISTRO=debian-9.9 CONF=Debug
- DISTRO=debian-9.9 CONF=Release
- DISTRO=opensuse-15.1 CONF=Debug
- DISTRO=opensuse-15.1 CONF=Release
- DISTRO=fedora-27 CONF=Debug
- DISTRO=fedora-27 CONF=Release
- DISTRO=fedora-30 CONF=Debug
- DISTRO=fedora-30 CONF=Release
- DISTRO=arch CONF=Debug
- DISTRO=arch CONF=Release
services:
- docker
before_install:
- docker build config/docker/${DISTRO} -t dev/jsonv/${DISTRO}
script:
- echo "export CMAKE_BUILD_TYPE=${CONF}" >> env.sh
- docker run -v ${TRAVIS_BUILD_DIR}:/root/jsonv dev/jsonv/${DISTRO}
after_success:
- if [[ ${DISTRO} != "ubuntu-18.04" ]]; then echo "Skipping documentation publishing due to non-main build environment"; exit 0; fi
- if [[ ${CONF} != "Release" ]]; then echo "Skipping documentation publishing due to non-Release build"; exit 0; fi
- GIT_CURRENT_HASH=$(git rev-parse HEAD)
- GIT_MASTER_HASH=$(git rev-parse master)
- GIT_REMOTE_NAME=$(git remote)
- GIT_REMOTE_FETCH_PATH=$(git remote --verbose | grep -P '^'${GIT_REMOTE_NAME}'.*\(fetch\)$' | awk '{print $2}')
- GIT_EXPECTED_PATH=https://github.com/tgockel/json-voorhees.git
- echo "GIT_CURRENT_HASH=${GIT_CURRENT_HASH} GIT_REMOTE_NAME=${GIT_REMOTE_NAME} GIT_REMOTE_FETCH_PATH=${GIT_REMOTE_FETCH_PATH}"
- if [[ ${GIT_CURRENT_HASH} != ${GIT_MASTER_HASH} ]]; then echo "Skipping documentation publishing due to non-master ${GIT_CURRENT_HASH} (master=${GIT_MASTER_HASH})"; exit 0; fi
- if [[ ${GIT_REMOTE_FETCH_PATH} != ${GIT_EXPECTED_PATH} ]]; then echo "Skipping documentation publishing due to non-mainline remote ${GIT_REMOTE_FETCH_PATH}"; exit 0; fi
- sudo add-apt-repository --yes ppa:libreoffice/ppa
- sudo apt-get update
- sudo apt-get install --yes doxygen graphviz texlive-full
- openssl aes-256-cbc -K $encrypted_3e0adb789702_key -iv $encrypted_3e0adb789702_iv -in config/travisci_ecdsa.enc -out config/travisci_ecdsa -d
- chmod 0600 config/travisci_ecdsa
- cp config/travisci_ecdsa ~/.ssh/id_ecdsa
- "./config/publish-doxygen"