forked from supercollider/supercollider
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
98 lines (88 loc) · 2.77 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
language: cpp
matrix:
fast_finish: true
include:
- os: linux
sudo: required
dist: trusty
env:
- QT=true
- DO_LINT=false
group: edge
- os: linux
sudo: required
dist: trusty
env:
- QT=false
- DO_LINT=true # only lint on fastest build
group: edge
- os: osx
osx_image: xcode9.4
env:
- QT=true
- DO_LINT=false
# use ccache to speed up build times. on osx,
# we install it during the the before_install step
# with xcode, this requires an additional flag passed during the configuration phase.
# see README_MACOS.md for details.
cache:
- ccache
before_install:
- $TRAVIS_BUILD_DIR/.travis/before-install-$TRAVIS_OS_NAME.sh --qt=$QT
before_script:
- mkdir BUILD && cd BUILD
# Remove the "Version-" prefix.
- export VERSION_TO_BUILD=${TRAVIS_TAG##Version-}
- $TRAVIS_BUILD_DIR/.travis/before-script-$TRAVIS_OS_NAME.sh --qt=$QT
# prep for testing
- if [[ $QT == true ]]; then $TRAVIS_BUILD_DIR/.travis/qpm-prep.sh; fi
script:
- $TRAVIS_BUILD_DIR/.travis/script-$TRAVIS_OS_NAME.sh
- $TRAVIS_BUILD_DIR/.travis/test.sh
- if [[ $TRAVIS_OS_NAME == osx ]]; then $TRAVIS_BUILD_DIR/.travis/package-osx.sh; fi
before_deploy:
# required for github releases
- export BUILD_PREFIX=$TRAVIS_REPO_SLUG/$TRAVIS_OS_NAME
- export S3_BUILDS_LOCATION=builds/$BUILD_PREFIX
- export S3_URL=https://supercollider.s3.amazonaws.com/$S3_BUILDS_LOCATION/SC-$TRAVIS_COMMIT.zip
- export FWD_HTML='<html><head><meta http-equiv="refresh" content="0; url='$S3_URL'" /></head></html>'
# put everything to be archived in artifacts/
- mkdir -p "$HOME/artifacts/${TRAVIS_BRANCH%/*}"
- mkdir -p "$HOME/artifacts/${TRAVIS_TAG%/*}"
- echo $FWD_HTML > $HOME/artifacts/$TRAVIS_BRANCH-latest.html
- 'if [[ $TRAVIS_TAG != "head" ]]; then echo $FWD_HTML > $HOME/artifacts/$TRAVIS_TAG.html; fi;'
deploy:
# s3 upload - every commit
- provider: s3
access_key_id: $AWS_KEY
secret_access_key: $AWS_SECRET
bucket: supercollider
local-dir: $HOME/artifacts
upload-dir: $S3_BUILDS_LOCATION
region: us-west-2
skip_cleanup: true
endpoint: s3-us-west-2.amazonaws.com
acl: public_read
on:
condition: $TRAVIS_OS_NAME = osx && ! -z $AWS_KEY && ! -z $AWS_SECRET
all_branches: true
# github releases - only tags
- provider: releases
api_key: $GITHUB_KEY
file: $HOME/SuperCollider-$VERSION_TO_BUILD-macOS.zip
prerelease: true
skip_cleanup: true
on:
condition: $TRAVIS_OS_NAME = osx && ! -z $GITHUB_KEY
tags: true
all_branches: true
after_deploy:
- "echo S3 Build Location: $S3_URL"
notifications:
on_success: change
on_failure: change
webhooks:
urls:
- https://webhooks.gitter.im/e/51b9b53ca50a7bfca97d
on_success: change
on_failure: always