1+ dist : trusty
2+ language : rust
3+ services : docker
4+ sudo : required
5+
6+ rust : stable
7+
8+ branches :
9+ only :
10+ # release tags
11+ - /^v\d+\.\d+\.\d+.*$/
12+ - master
13+
14+ env :
15+ global :
16+ - secure : eYvJL9qSyPPcopyquSMWVjNI7svMuTqqjRTGDXlyN3fcYMUraWV69qJBVRmSuMIo6KvGnKWZz8Ari7+fq8RybQteVaaQS+PrlwVnjJidB8ELq3wDDKD7bj9iRIjOyfwYUe3oEN4Y+XYOwyICBDq7bC6vIf9OIlhZg9jQ+tweXKKPEjQ68+MIhUDXbH8VPYd4SREsmE6q9zPTJ54l5cBmZDED0QF5RWgrt9Gn8pgW+u2utYcT/0iJnf//WLb2nCxfzATkVQFnyTni+RJnngBJ7KDZR2qlpOxdoV6iax0I6SXwx2TIxNUyLhmFomFrIkIjHjlQRq+NBKy/ehUK4TvpRxWWMgCzTxrd3STCeFR+HnDbspMAUzlnBGdMrxPH3LCj9KgkekaJMZ29ryZYCtaFnO58FiTUBreNDWibcWRqXmwhbMzWT6pLRzuYjYH0jIm5WjnleKTznpN4Me5VMVUBpzdAPs0VKvhGavJn4bT/5W1dhFmhuNlD5kCdkjD5oZI74MyxepTr4Bg0wo3bLSjfmyq77Qxvo9HcVxhukBAIwvILElWL5UK+dguEJWP/iqtbfwxfa7tTOrIF3GTfL3fSfI2B/pAUzGnzWzFaZWU357NEDZOCXACoUEhG3JYNwR6//YvJaXBVoQHAq+ZSd4oEyrAnaDjnBJr1CBfWVTpyfFI=
17+ - CRATE_NAME=git-codeowners
18+ - TARGET=x86_64-unknown-linux-musl
19+ - OS=Linux
20+ - ARCH=x86_64
21+
22+ matrix :
23+ include :
24+ - env : TARGET=x86_64-apple-darwin OS=Darwin ARCH=x86_64
25+ os : osx
26+ - env : TARGET=x86_64-unknown-linux-musl OS=Linux ARCH=x86_64
27+
28+ install :
29+ - sh ci/install.sh
30+ - source ~/.cargo/env || true
31+
32+ script :
33+ - bash ci/script.sh
34+
35+ before_cache :
36+ # Travis can't cache files that are not readable by "others"
37+ - chmod -R a+r $HOME/.cargo
38+
39+ cache :
40+ cargo : true
41+ apt : true
42+ directories :
43+ - target/debug/deps
44+ - target/debug/build
45+ - " $HOME/.rustup"
46+
47+ addons :
48+ apt :
49+ packages :
50+ - libcurl4-openssl-dev
51+ - libelf-dev
52+ - libdw-dev
53+ - binutils-dev
54+ - libiberty-dev
55+
56+ before_deploy :
57+ - sh ci/before_deploy.sh
58+
59+ deploy :
60+ # TODO update `api_key.secure`
61+ # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new
62+ # - Encrypt it: `travis encrypt GH_TOKEN=0123456789012345678901234567890123456789`
63+ # - Paste the output down here
64+ api_key :
65+ secure : $GH_TOKEN
66+ file_glob : true
67+ file : $CRATE_NAME-$OS-$ARCH.*
68+ on :
69+ # TODO Here you can pick which targets will generate binary releases
70+ # In this example, there are some targets that are tested using the stable
71+ # and nightly channels. This condition makes sure there is only one release
72+ # for such targets and that's generated using the stable channel
73+ condition : $TRAVIS_RUST_VERSION = stable
74+ tags : true
75+ provider : releases
76+ skip_cleanup : true
77+
78+ after_success : |-
79+ [ $TRAVIS_RUST_VERSION = stable ] &&
80+ [ $TRAVIS_BRANCH = master ] &&
81+ [ $TRAVIS_PULL_REQUEST = false ] &&
82+ [ $TRAVIS_OS_NAME = linux ] &&
83+ cargo doc --no-deps &&
84+ echo "<meta http-equiv=refresh content=0;url=`echo $TRAVIS_REPO_SLUG | cut -d '/' -f 2`/index.html>" > target/doc/index.html &&
85+ pip install --user ghp-import &&
86+ /home/travis/.local/bin/ghp-import -n target/doc &&
87+ git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages &&
88+ wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
89+ tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build && cmake .. && make && make install DESTDIR=../tmp && cd ../.. &&
90+ ls target/$TARGET/debug &&
91+ ./kcov-master/tmp/usr/local/bin/kcov --verify --coveralls-id=$TRAVIS_JOB_ID --exclude-pattern=/.cargo target/$TARGET/kcov target/$TARGET/debug/git-codeowners-*
0 commit comments