-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
114 lines (97 loc) · 3.59 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
105
106
107
108
109
110
111
112
113
114
# Based on the "trust" template v0.1.2
# https://github.com/japaric/trust/tree/v0.1.2
dist: xenial
language: rust
services: docker
env:
global:
- PROJECT_NAME=source_query_cacher
matrix:
allow_failures:
- rust: nightly
fast_finish: true
include:
# Android
# - env: TARGET=aarch64-linux-android
- env: TARGET=arm-linux-androideabi
- env: TARGET=armv7-linux-androideabi
# - env: TARGET=i686-linux-android
- env: TARGET=x86_64-linux-android
# iOS
# - env: TARGET=aarch64-apple-ios
# os: osx
# - env: TARGET=armv7-apple-ios
# os: osx
# - env: TARGET=armv7s-apple-ios
# os: osx
# - env: TARGET=i386-apple-ios
# os: osx
# - env: TARGET=x86_64-apple-ios
# os: osx
# Linux
- env: TARGET=aarch64-unknown-linux-gnu
- env: TARGET=arm-unknown-linux-gnueabi
- env: TARGET=armv7-unknown-linux-gnueabihf
- env: TARGET=i686-unknown-linux-gnu
- env: TARGET=i686-unknown-linux-musl
- env: TARGET=mips-unknown-linux-gnu
- env: TARGET=mips64-unknown-linux-gnuabi64
- env: TARGET=mips64el-unknown-linux-gnuabi64
- env: TARGET=mipsel-unknown-linux-gnu
- env: TARGET=powerpc-unknown-linux-gnu
- env: TARGET=powerpc64-unknown-linux-gnu
- env: TARGET=powerpc64le-unknown-linux-gnu
# - env: TARGET=s390x-unknown-linux-gnu
- env: TARGET=x86_64-unknown-linux-gnu
- env: TARGET=x86_64-unknown-linux-musl
# OSX
- env: TARGET=i686-apple-darwin
os: osx
- env: TARGET=x86_64-apple-darwin
os: osx
# *BSD
# - env: TARGET=i686-unknown-freebsd
# - env: TARGET=x86_64-unknown-freebsd
# - env: TARGET=x86_64-unknown-netbsd
# Bare metal
# These targets don't support std and as such are likely not suitable for
# most crates.
# - env: TARGET=thumbv6m-none-eabi
# - env: TARGET=thumbv7em-none-eabi
# - env: TARGET=thumbv7em-none-eabihf
# - env: TARGET=thumbv7m-none-eabi
# Testing other channels
- env: TARGET=x86_64-unknown-linux-gnu
rust: beta
- env: TARGET=x86_64-unknown-linux-gnu
rust: nightly
install:
- cargo install --force cross
script:
- rustup target add $TARGET || true
- cross build --verbose --target $TARGET
- cross test --verbose --target $TARGET
- cross build --release --verbose --target $TARGET
- cross test --release --verbose --target $TARGET
before_deploy:
- cross build --release --target $TARGET
- cp target/$TARGET/release/bin source_query_cacher
- tar czf source_query_cacher-${TRAVIS_TAG}-${TARGET}.tar.gz source_query_cacher
deploy:
provider: releases
api_key:
secure: fBN45YmtXPY0tdAYyWPFJzmWKWKn/221pBWcS8CVvVU7MLKkKlUwqwc4mGL9lJ9GQw8KGm4m8u4jeUAYuYgkq8wNkIqcw9BJhjExaQHO4FOtM4Jh7RnVLd877PO0x1zcsFYAdVHLta6SoVoVgYh51krmLfe/SOvIxnJUSEuWXzV4B4P3hGmxnIn9iW/dbbS4f/rBzsrKa5Ft6eldNE8Sg94RWEB4VG3DkMV8YgEGxPqruWLlRAwev3pDSj0vYxWpIihATrHbg5rdVrw7LFiag8QMWCwvMv/pz7cWfhAe2iwerqGGGwsDym4QDdT3VsvAbSREDEiCiZ3paCxbS7L0qVAN9ea6MkTzJK6b/BmE8gPGNlSuewcC0uGgNDOiv5uUGHQzgYwNHnc/VH/o0kdKDnf7TQRNKPSz9jTT94awIlDY4a6b/WLCxFuPus4+iKJKqqTBnh1UjO08/EWhk63lQ92BScC0iEiCFWu1aYvDglzvsNPqjzggB5HTmckns5HJVxGnttGuGYhBsN9y4cGHH9Z+IsWzLti12smyU3vQelkW/bYUdp8vyg8A/CAu9pbaZWdo+iMdlAqxgI+IrODaaYJpuZF2mF2DxnlIpdbI1pX9AOqlEKdwgSeSo9JjzuaHNINof24eCJfXi38Gm69Fo9/IB/e+14b9DcU4ox1s200=
file_glob: true
file: source_query_cacher-${TRAVIS_TAG}-${TARGET}.tar.gz
# don't delete the artifacts from previous phases
skip_cleanup: true
# deploy when a new tag is pushed
on:
# channel to use to produce the release artifacts
# NOTE make sure you only release *once* per target
condition: $TRAVIS_RUST_VERSION = stable
tags: true
cache: cargo
before_cache:
# Travis can't cache files that are not readable by "others"
- chmod -R a+r $HOME/.cargo