summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml91
1 files changed, 64 insertions, 27 deletions
diff --git a/.travis.yml b/.travis.yml
index 528953b..4a47595 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,31 +1,68 @@
+language: c++
+matrix:
+ include:
+ - os: linux
+ env: TARGET=ubuntu:16.04
+ sudo: false
+ - os: linux
+ env: TARGET=ubuntu:18.04
+ sudo: false
+ - os: linux
+ env: TARGET=i386/ubuntu:16.04
+ sudo: false
+ - os: osx
+ env: TARGET=osx
+sudo: required
+dist: trusty
+osx_image: xcode9.2
+services:
+- docker
+cache: ccache
+env:
+ global:
+ - BUILD_NUMBER=${TRAVIS_BUILD_NUMBER}
before_install: if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
brew update;
- else
- sudo apt-get update -qq;
- sudo apt-get install -y cmake libxml2-dev libssl-dev;
+ brew install openssl;
fi
-script:
-- mkdir build
-- cd build
-- cmake ..
-- make
-
-os:
- - linux
- - osx
-
-env:
- global:
- # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
- # via the "travis encrypt" command using the project repo's public key
- - secure: "AhDg868E2SgZbGhsFyDQd19IVCZcQ2a7shdojRTxIxF10TGhAleFEtm4EAoXjjgCPcGY52o1aVaEMea/GRnLR6oLQ592igxNHjTlTGKcDp5w28xVq9m7d4JVrvUeYvKoi+szS4Ah8zhraGdssMaq8LtZzLbaoEXCaMCDRlXPGro="
+script: case ${TARGET} in
+ *osx*)
+ mkdir build && cd build && cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ..;
+ make all pkgbuild;
+ cd ..;
+ ;;
+ *)
+ docker run -e BUILD_NUMBER=${BUILD_NUMBER} -e COVERITY_SCAN_TOKEN=${COVERITY_SCAN_TOKEN} -e TRAVIS_BRANCH=${TRAVIS_BRANCH} -e TARGET=${TARGET} -v $(pwd):$(pwd) -t "${TARGET}" /bin/bash -c "cd $(pwd);"'
+ apt-get update -qq;
+ apt-get install -y dh-make devscripts dpkg-dev cdbs cmake libxml2-dev libssl-dev git curl wget ruby;
+ export VERSION=$(grep project CMakeLists.txt | egrep -o "([0-9]{1,}\.)+[0-9]{1,}").${BUILD_NUMBER};
+ export DEBFULLNAME="Travis";
+ export DEBEMAIL="travis-ci@travis";
+ dh_make --createorig --addmissing --defaultless -y -p libdigidoc_${VERSION};
+ dch --distribution $(lsb_release -cs) -v ${VERSION} "Release ${VERSION}.";
+ dpkg-buildpackage -rfakeroot -us -uc;
+ if [ "${TARGET}" = "ubuntu:16.04" ]; then
+ export COVERITY_SCAN_PROJECT_NAME="open-eid/libdigidoc";
+ export COVERITY_SCAN_NOTIFICATION_EMAIL="raul@metsma.ee";
+ export COVERITY_SCAN_BRANCH_PATTERN=coverity_scan;
+ export COVERITY_SCAN_BUILD_COMMAND_PREPEND="mkdir coverity && cd coverity && cmake ..";
+ export COVERITY_SCAN_BUILD_COMMAND=make;
+ wget -O - https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash;
+ fi;
+ git clean -dxf';
+ ;;
+ esac
-addons:
- coverity_scan:
- project:
- name: "open-eid/libdigidoc"
- description: "Build submitted via Travis CI"
- notification_email: raul@metsma.ee
- build_command_prepend: "mkdir coverity; cd coverity; cmake .."
- build_command: make
- branch_pattern: coverity_scan
+before_deploy:
+- export VERSION=${TRAVIS_TAG:1}
+- cd ..
+- mv libdigidoc libdigidoc-${VERSION}
+- tar czf libdigidoc-${VERSION}.tar.gz --exclude-vcs libdigidoc-${VERSION}
+deploy:
+ provider: releases
+ api_key: ${GITHUB_ACCESS_TOKEN}
+ file: libdigidoc-${VERSION}.tar.gz
+ skip_cleanup: true
+ on:
+ tags: true
+ condition: "$TRAVIS_OS_NAME = linux"