forked from helio-fm/helio-sequencer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
129 lines (119 loc) · 3.82 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
language: generic
sudo: false
notifications:
email: false
git:
depth: 10
submodules_depth: 10
branches:
only:
- master
- develop
- /^\d+\.?\d+\.?\d*$/
stages:
- name: Test
- name: Deploy
if: type = push && fork = false
addons_shortcuts:
addons_gcc5: &gcc5
apt:
packages: [ 'libfreetype6-dev', 'libx11-dev', 'libxinerama-dev', 'libxrandr-dev', 'libxcursor-dev', 'libxcomposite-dev', 'mesa-common-dev', 'freeglut3-dev', 'libcurl4-gnutls-dev+', 'libasound2-dev', 'libjack-dev', 'unzip', 'xvfb' ]
ssh_known_hosts: helio.fm
addons_clang7: &clang7
apt:
packages: [ 'libc++-dev', 'libfreetype6-dev', 'libx11-dev', 'libxinerama-dev', 'libxrandr-dev', 'libxcursor-dev', 'libxcomposite-dev', 'mesa-common-dev', 'freeglut3-dev', 'libcurl4-gnutls-dev+', 'libasound2-dev', 'libjack-dev', 'unzip', 'xvfb' ]
ssh_known_hosts: helio.fm
addons_deploy: &deploy
ssh_known_hosts: helio.fm
jobs:
include:
- name: "gcc 5, debug build x64"
stage: Test
os: linux
dist: xenial
addons: *gcc5
env: BUILD_TYPE=linux CONFIG=Tests CFLAGS=-fno-pie
- name: "gcc 5, release build x64"
stage: Deploy
os: linux
dist: xenial
addons: *gcc5
env: BUILD_TYPE=linux CONFIG=Release64 CFLAGS=-fno-pie
- name: "xcode 10.1 mac, release build"
stage: Deploy
os: osx
osx_image: xcode10.1
xcode_sdk: macosx10.14
addons: *deploy
env: BUILD_TYPE=osx
# - name: "xcode 11.6 ios, release build"
# stage: Deploy
# os: osx
# osx_image: xcode11.6
# xcode_sdk: iphoneos
# addons: *deploy
# env: BUILD_TYPE=ios
- name: "android 21, release build"
stage: Deploy
os: linux
dist: trusty
language: android
jdk: oraclejdk8
addons: *deploy
env: BUILD_TYPE=android ANDROID_NDK_HOME=${ANDROID_HOME}/ndk-bundle
android:
components:
- tools
- platform-tools
- build-tools-28.0.3
- android-28
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- name: "deploy docs"
stage: Deploy
os: linux
dist: trusty
language: rust
rust: stable
cache: cargo
addons: *deploy
env: BUILD_TYPE=docs
before_script:
- bash ${TRAVIS_BUILD_DIR}/Projects/Deployment/Travis/setup-${BUILD_TYPE}.sh
script:
- if [[ "${BUILD_TYPE}" == "linux" ]]; then
cd Projects/LinuxMakefile && make all strip;
if [[ "${TRAVIS_BUILD_STAGE_NAME}" == "Test" ]]; then
build/helio;
fi
fi
- if [[ "${BUILD_TYPE}" == "android" ]]; then
cd Projects/Android && chmod +x gradlew && ./gradlew clean assembleRelease;
fi
- if [[ "${BUILD_TYPE}" == "osx" ]]; then
xcodebuild -project Projects/macOS/Helio.xcodeproj -configuration Release -scheme 'Helio - App' -archivePath /tmp/archive archive;
fi
- if [[ "${BUILD_TYPE}" == "ios" ]]; then
xcodebuild -project Projects/iOS/Helio.xcodeproj -configuration Release -scheme 'Helio - App' -archivePath /tmp/archive archive;
fi
- if [[ "${BUILD_TYPE}" == "docs" ]]; then
mdbook build Docs && mdbook test Docs;
fi
before_deploy:
- openssl aes-256-cbc -K $encrypted_e6d7a52b0113_key -iv $encrypted_e6d7a52b0113_iv -in ${TRAVIS_BUILD_DIR}/Projects/Deployment/Travis/deploy-rsa.enc -out /tmp/deploy_rsa -d
- eval "$(ssh-agent -s)"
- chmod 600 /tmp/deploy_rsa
- ssh-add /tmp/deploy_rsa
deploy:
provider: script
skip_cleanup: true
script: bash ${TRAVIS_BUILD_DIR}/Projects/Deployment/Travis/deploy-${BUILD_TYPE}.sh
on:
all_branches: true
repo: helio-fm/helio-workstation
condition: ${TRAVIS_BUILD_STAGE_NAME} = "Deploy"