-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
104 lines (93 loc) · 4.03 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
env:
global:
# Used in the deploy steps below.
- PROJECT_NAME="gash"
# Default target on travis-ci.
# Used as conditional check in the install stage
- HOST="x86_64-unknown-linux-gnu"
language: rust
cache: cargo
matrix:
include:
# Stable channel.
- os: linux
rust: stable
env: TARGET=x86_64-unknown-linux-gnu
- os: linux
rust: stable
env: TARGET=x86_64-unknown-linux-musl
- os: linux
rust: stable
env: TARGET=i686-unknown-linux-gnu
- os: linux
rust: stable
env: TARGET=i686-unknown-linux-musl
- os: linux
rust: stable
env:
- TARGET=arm-unknown-linux-gnueabihf
- CC_arm_unknown_linux_gnueabihf=/usr/bin/arm-linux-gnueabihf-gcc-4.8
- CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc-4.8
- os: linux
rust: stable
env:
- TARGET=arm-unknown-linux-musleabihf
- CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER=arm-linux-gnueabihf-gcc-4.8
- os: osx
rust: stable
env: TARGET=x86_64-apple-darwin
sudo: required
addons:
homebrew:
update: true
packages:
- jq
before_install:
- ci/before_install.sh
install:
# prevent target re-add error from rustup
- if [[ $TRAVIS_OS_NAME = linux && $HOST != $TARGET ]]; then rustup target add $TARGET; fi
script:
- ci/script.sh
before_deploy:
- bash ci/before_deploy.sh
_deploy_on: &deploy_on
# deploy only if we push a tag
tags: true
# deploy only on stable channel that has TARGET env variable sets
condition: $TRAVIS_RUST_VERSION = stable && $TARGET != ""
deploy:
# Deploy to crates.
- provider: cargo
# NOTE updating the `token.secure`
# - go to: https://crates.io/me
# - generate new token
# - encrypt it using: `travis encrypt API_KEY_HERE`
# - paste the output below
token:
secure: aCrFN6XDAzWDN8YrWnJ2IDhEDUA5JQzsaR7DS4orMm9xDCf26T+BM4y/IcRNQ4HIuMrDczqrVUeh9sb8wGVVe57dmn5z/KRL6/jH8W2nKRqrLj1Sa5He6oR6Kkeb+AEj1V9cJzqFfM0H66cp/lMhJi+TWW+V05eXKLk1227tybvnn3fd64BB9Sf7W2Cl7VRNu14YDaMOXSE6e8Y8qIMtdVTVimd8/KfRLAu7S7m2BTBXnxUeUlaNNgu7iDNeBzilBSKydYD1AwvKj3YRAgev0OtkA/cQOD7j83T0OHP0K7Q4Gkx2R6SB7Y0aCFourwsIiTcouGyr9JexZw6kBoOSnETQiaRFYrgxnYLloRiTHd93cF54aoqA9BZVBwKxXHBpFgCDiPSG1OMgzzwcB4+N5IEZmkZnDh/Bj/NoWHpMiOi29evwGUPzLgv1njychSY+eTivY+gll2gScAm0D5JrgOjgWYqIjvVqsZeSEK+ZZ2TbZoCBoEiJRvuJD2m/zoAmXPDgfcximty0rfkky1aviQ6norzLb9gZPIadMmRpzb1dbatffVDN6zdDvuwpv4KLX5j/fi0R3PloY49kJRX/sTkIVtLOIQC8NpXOUfixBYW5uYJM0tfh2k/07LITJKWF+JrGTPrLMhiHJTrY8SsETVOMWVDxfxJLpPku9EGF1PE=
on: *deploy_on
# Deploy to GitHub releases.
- provider: releases
# NOTE updating the `api_key.secure`
# - go to: https://github.com/settings/tokens/new
# - generate new token using `public_repo` scope
# - encrypt it using: `travis encrypt API_KEY_HERE`
# - paste the output below
api_key:
secure: QT1CB5+IUAaRMYpduyv4O7CTHla6HpTrIC0eZvykY4jIegjCn6S/cPiQwyGXLI9q0ruUcj6iGRwuLJ3lVWwI9/Ia/gJvU8Oclx8/fWtFGLjYTZfqm3Wn1Pc2fjhuTNaaz1r5ZSGqkfjigOaA1m8uJn6JwdrgUXItfSwaA6mDlEpheKPEupu09bPRTKPsbLUNbWun2MUt6iPb+z/txexPbpHDQ76W3Q5FpyhudLTmuowLDlXdZqDlL9WyQijCgv0UlUyPuonXeLlMDbN7gD9dwm9aO/fgHJfbge2lKzPHdih4JjWy4er/H1A36zEI2G6AMgjKtlc4n+hbRbUcDbS+26MqPvhSo76wUscIzQXpYhm+CXDVZ2gsPwFxIBReinjLhkX2atwh+XNeeT6RbTuua2WaBFmd5X5KtsbL3poHpTuT97mwqqWtytjEvamSlxvPErqtwTJxr6ElTmdyEpjs8QFGu/IsgiacCVzwnHojBiqnFUjny0qNnSEeQTNLEXRpTYJn3eBZzHLp+Ttc2pJ1+5LV/pNr6/fvZM9kWVGED8GF13cr3fPFWlUSKXr5op3o2Xw9N4HtZzSCgWVlHZBB785KDRI1urKmUqQY0GluJw44czDiOlPRIwfNd3zUZuGCl3Bzac40hSuAfmoOnvMG8CxKMvvu2BqhW0KTm1zxRYY=
# for uploading multiple files
file_glob: true
# NOTE explanation on each env variable
# - PROJECT_NAME: name of the project, set on the `env.global` above
# - TRAVIS_TAG: tag name that the build is being deployed for, usually the version number
# - TARGET: target triple of the build
file:
- $PROJECT_NAME-$TRAVIS_TAG-$TARGET.*
- $PROJECT_NAME*.deb
# don't delete artifacts from previous stage
skip_cleanup: true
on: *deploy_on
notifications:
email:
on_success: never