]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Harden tests to not rely on CWD
[rust.git] / .travis.yml
index 4b9789d261811e1c7ed4c83d8c7fe954eb578578..90faaaf17469870415bbbdf670bcd6458f5a1844 100644 (file)
@@ -1,6 +1,56 @@
-language: rust
 sudo: false
+language: rust
+rust:
+# - stable
+# - beta
+ - nightly
+os:
+ - linux
+ - osx
+cache:
+ directories:
+  - $HOME/.cargo
+
+addons:
+  apt:
+    packages:
+    - libcurl4-openssl-dev
+    - libelf-dev
+    - libdw-dev
+
+before_script:
+- |
+  if [ $TRAVIS_OS_NAME = 'osx' ]; then
+    virtualenv env &&
+    source env/bin/activate &&
+    python --version &&
+    pip install 'travis-cargo<0.2'
+  else
+    pip install 'travis-cargo<0.2' --user &&
+    export PATH="$(python -m site --user-base)/bin:$PATH"
+  fi
 
 script:
- - cargo build
- - cargo test
+- |
+  cargo build &&
+  cargo test
+
+after_success:
+- travis-cargo coveralls --no-sudo
+
+before_deploy:
+  # TODO: cross build
+ - cargo build --release --target=x86_64-unknown-linux-gnu
+ - tar czf rustfmt-x86_64-unknown-linux-gnu.tar.gz Contributing.md Design.md README.md -C target/x86_64-unknown-linux-gnu/release/rustfmt rustfmt
+
+deploy:
+  provider: releases
+  api_key:
+    secure: "your own encrypted key"
+  file:
+  - rustfmt-x86_64-unknown-linux-gnu.tar.gz
+  on:
+    repo: nrc/rustfmt
+    tags: true
+    condition: "$TRAVIS_OS_NAME = linux"
+  skip_cleanup: true