forked from mullvad/mullvadvpn-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
100 lines (90 loc) · 3.07 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
sudo: false
git:
submodules: false
before_install:
- git submodule update --init
matrix:
include:
# GUI - Electron
- language: node_js
node_js: '8'
cache: npm
install:
- cd gui
- npm install
before_script:
- export DISPLAY=:99.0; sh -e /etc/init.d/xvfb start
script:
- npm run check-format
- npm run lint
- npm run build
- npm test
# Android
- language: android
sudo: true
android:
components:
- android-28
- build-tools-28.0.3
install:
- curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain stable -y
- source $HOME/.cargo/env
- rustup target add aarch64-linux-android
- curl -sf -L -o /tmp/ndk.zip https://dl.google.com/android/repository/android-ndk-r19b-linux-x86_64.zip
- sudo mkdir /opt/android
- sudo unzip -q -d /opt/android/ /tmp/ndk.zip
- sudo /opt/android/android-ndk-r19b/build/tools/make-standalone-toolchain.sh --platform=android-28 --arch=arm64 --install-dir=/opt/android/toolchains/android28-aarch64
- |
cat >> $HOME/.cargo/config << EOF
[target.aarch64-linux-android]
ar = "/opt/android/android-ndk-r19b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar"
linker = "/opt/android/android-ndk-r19b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang"
before_script:
- export RUSTFLAGS="--deny unused_imports --deny dead_code"
- export AR_aarch64_linux_android=/opt/android/toolchains/android28-aarch64/bin/aarch64-linux-android-ar
- export CC_aarch64_linux_android=/opt/android/toolchains/android28-aarch64/bin/aarch64-linux-android28-clang
- source env.sh aarch64-linux-android
- env
script:
- cargo build --target aarch64-linux-android --verbose
- cd android
- ./gradlew --console plain assembleDebug
# Daemon - macOS
- language: rust
rust: stable
os: osx
before_script:
- env
script:
- ./ci/travis-rust-script.sh stable
# Daemon - Linux
- os: linux
name: Daemon - nigtly Rust
language: minimal
dist: xenial
services: docker
before_script: &rust_before_script
- docker run -d --name mvd-build -v $(pwd):/travis -w /travis mullvadvpn/mullvadvpn-app-build:latest tail -f /dev/null
- docker ps
script:
- docker exec -t mvd-build bash ci/travis-rust-script.sh nightly
- os: linux
name: Daemon - beta Rust
language: minimal
dist: xenial
services: docker
before_script: *rust_before_script
script:
- docker exec -t mvd-build bash ci/travis-rust-script.sh beta
- os: linux
name: Daemon - stable Rust
language: minimal
dist: xenial
services: docker
before_script: *rust_before_script
script:
- docker exec -t mvd-build bash ci/travis-rust-script.sh stable
notifications:
email:
on_success: never
on_failure: never