aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml93
1 files changed, 89 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index 7f1b897..5c8cff9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,94 @@
+sudo: false
+
language: rust
-rust:
- - stable
- - beta
- - nightly
+
+rust: nightly
+
+os:
+ - linux
+ - osx
+
+env:
+ global:
+ # This will be part of the release tarball
+ - PROJECT_NAME=ilc
+
matrix:
allow_failures:
- rust: stable
- rust: beta
+
+ # Clear the whole matrix
+ exclude:
+ - os: linux
+ - os: osx
+ # Add each target manually
+ # pattern shown below
+ include:
+ # WARNING Experimental target. Tests are executed using qemu user emulation, but this approach
+ # may have problems when too many threads are spawned. Also, by the next Rust stable release,
+ # this target will be replaced by `armv7-unknown-linux-gnueabihf`.
+ - os: linux
+ env: TARGET=arm-unknown-linux-gnueabihf
+ # Extra packages only for this build job
+ addons:
+ apt:
+ packages:
+ # Cross compiler and cross compiled C libraries
+ - gcc-arm-linux-gnueabihf
+ - libc6-armhf-cross
+ - libc6-dev-armhf-cross
+ # Emulator
+ - qemu-user
+ - os: linux
+ env: TARGET=i686-unknown-linux-gnu
+ addons:
+ apt:
+ packages:
+ # Cross compiler and cross compiled C libraries
+ - gcc-multilib
+ - os: linux
+ env: TARGET=x86_64-unknown-linux-gnu
+ - os: linux
+ env: TARGET=x86_64-unknown-linux-musl
+ - os: osx
+ env: TARGET=i686-apple-darwin
+ - os: osx
+ env: TARGET=x86_64-apple-darwin
+
+install:
+ - sh ci/install.sh
+
+script:
+ - sh ci/script.sh
+
+before_deploy:
+ - sh ci/before_deploy.sh
+
+deploy:
+ provider: releases
+ # - Go to 'https://github.com/settings/tokens/new' and generate a Token with only the
+ # `public_repo` scope enabled
+ # - Call `travis encrypt $github_token` where $github_token is the token you got in the previous
+ # step and `travis` is the official Travis CI gem (see https://rubygems.org/gems/travis/)
+ # - Enter the "encrypted value" below
+ api_key:
+ secure: BnQxKEtnxUL6K8T8WHsmC09KgTZho22z5MBlVEcX+glHMLkzehCs+LaiXQ0lsvs8Z7ngxEs+FG4qfCXtMeFJh3n4tzTYAe9xvNFhieRZKUKkkycNTTraRL1Pzpj7i+dT3/OG+vSMhgwa+I6gZwuPVHkcY1EU8fdzI95R7SLJJREM/yAE5/seYZNxA0TX4BiZIZksg+bzwSr1WJEsX0N9rv3ANqkemjMvHkeYQb6dogo8iIIBG03L/OKvuHELsdVdiyiIdq2YU62x3wPQc2w/StDkrk+dq5eMW9H7Gh0MqDGF4ZKkWlQzrxPxJnJBbWRPcKczRgGMXeIXKfBU52Pn4L92dRC7RpJmKOVZwDgyeqNLXvHYiMpL0NH3DU3V2LFpVNHJtK3f6hsVPBS0w00kpg7iQhN5EejHe7GlD6SF41J2W53XsN1+5qmNew+El+Ugnk7Jp4GFDPpYAR5u9FW7GAChGTyFjBkAOYGlnl9ZrtMC53+pPuDtGwywszf7+MXpB2HmSWy/eC1tnEE9tZt9rAVO0BTM1gCPkvDNA0czvA76gwNphEG7QCADI89WiGiVDruOGrMpF7Yi6NavmfQUwflMI2vZ+rqeBhVocK9pYLd/lg3yXyue//EejW+BE42R+IbB3OfFGgpK1+oHnbWr8UobwD3sa3iKJo232wPKozU=
+ file: ${PROJECT_NAME}-${TRAVIS_TAG}-${TARGET}.tar.gz
+ # don't delete the artifacts from previous phases
+ skip_cleanup: true
+ # deploy when a new tag is pushed
+ on:
+ tags: true
+
+branches:
+ only:
+ # Pushes and PR to the master branch
+ - master
+ # IMPORTANT Ruby regex to match tags. Required, or travis won't trigger deploys when a new tag
+ # is pushed. This regex matches semantic versions like v1.2.3-rc4+2016.02.22
+ - /^v\d+\.\d+\.\d+.*$/
+
+notifications:
+ email:
+ on_success: never