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