• Kevin Sapper's avatar
    Problem: Deploying release artifacts is a manual process · b2255811
    Kevin Sapper authored
    Solution: Use travis to deploy these artifacts automatically.
    
    The deployment is triggered by tagging on the zeromq/libzmq repository.
    Of the many builds travis is checking only the default one with
    libsodium and drafts disabled is used for deployment.
    
    For now the results of `make distcheck` are deployed as well as their
    md5 and sha1 hash sums. Further changes may upload a generated
    Changelog as well.
    b2255811
.travis.yml 1.8 KB
# Travis CI script

language: c

os:
- linux
- osx

dist: trusty

env:
- BUILD_TYPE=default CURVE=tweetnacl DRAFT=enabled
- BUILD_TYPE=android CURVE=tweetnacl
- BUILD_TYPE=cmake CURVE=tweetnacl
- BUILD_TYPE=default CURVE=libsodium
- BUILD_TYPE=default
- BUILD_TYPE=coverage CURVE=tweetnacl DRAFT=enabled
- BUILD_TYPE=valgrind CURVE=tweetnacl DRAFT=enabled

matrix:
  exclude:
  - env: BUILD_TYPE=coverage CURVE=tweetnacl DRAFT=enabled
    os: osx
  - env: BUILD_TYPE=valgrind CURVE=tweetnacl DRAFT=enabled
    os: osx
  include:
  - env: BUILD_TYPE=default CURVE=tweetnacl IPv6=ON
    os: linux
    dist: precise
    sudo: false

sudo: required

addons:
  apt:
    packages:
    - cmake
    - lcov
    - valgrind

before_install:
- if [ $TRAVIS_OS_NAME == "osx" ] ; then brew update; brew install binutils ; fi

before_script:
# ZMQ stress tests need more open socket (files) than the usual default
# On OSX, it seems the way to set the max files limit is constantly changing, so
# try to use all known knobs to ensure compatibility across various versions
- if [ $TRAVIS_OS_NAME == "osx" ] ; then sudo sysctl -w kern.maxfiles=64000 ; sudo sysctl -w kern.maxfilesperproc=64000 ; sudo launchctl limit maxfiles 64000 64000 ; ulimit -n 64000; fi

# Build and check this project according to the BUILD_TYPE
script: ./ci_build.sh

# Deploy tags
before_deploy:
- . ./ci_deploy.sh
deploy:
  provider: releases
  api_key:
    secure: vGB5E+A8wxm2J1GJZzmIgT9PrjEzvd9gE8iui8FyxSbxAsW9vFZFGZC/21sTtpVcmRarwQCHH1UEbtg+nJwN2iD9YzMRnSVks8xqP+b709YW+VXaMuhZgTzWa74IorQku7NuvLibvQk72/OSgdwPGaNJ6f5AX9pnWVWbEoW1svE=
  file_glob: true
  file: ${LIBZMQ_DEPLOYMENT}
  skip_cleanup: true
  on:
    repo: zeromq/libzmq
    branch: master
    tags: true
    condition: "$TRAVIS_OS_NAME =~ (linux) && $BUILD_TYPE =~ (default) && $CURVE =~ (libsodium) && -z $DRAFT"