-
Notifications
You must be signed in to change notification settings - Fork 14
/
.travis.yml
135 lines (117 loc) · 3.16 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
130
131
132
133
134
135
dist: xenial
language: c
services:
- docker
matrix:
include:
- os: linux
env: NIMBRANCH=version-1-2 ARCH=64
- os: linux
env: NIMBRANCH=version-1-2 ARCH=32
- os: osx
env: NIMBRANCH=version-1-2 ARCH=64
- os: windows
env: NIMBRANCH=version-1-2 ARCH=64
- os: windows
env: NIMBRANCH=version-1-2 ARCH=32
- os: linux
env: NIMBRANCH=version-1-2 ARCH=armv6
- os: linux
env: NIMBRANCH=version-1-2 ARCH=armv7a
- os: linux
env: NIMBRANCH=version-1-2 ARCH=armv7
- os: linux
env: NIMBRANCH=version-1-2 ARCH=arm64
- os: linux
env: NIMBRANCH=version-1-2 ARCH=arm64 OSVAR=android
- os: linux
env: NIMBRANCH=version-1-0 ARCH=64
- os: linux
env: NIMBRANCH=version-1-0 ARCH=32
- os: osx
env: NIMBRANCH=version-1-0 ARCH=64
- os: windows
env: NIMBRANCH=version-1-0 ARCH=64
- os: windows
env: NIMBRANCH=version-1-0 ARCH=32
- os: linux
env: NIMBRANCH=version-1-0 ARCH=armv6
- os: linux
env: NIMBRANCH=version-1-0 ARCH=armv7a
- os: linux
env: NIMBRANCH=version-1-0 ARCH=armv7
- os: linux
env: NIMBRANCH=version-1-0 ARCH=arm64
- os: linux
env: NIMBRANCH=version-1-0 ARCH=arm64 OSVAR=android
- os: linux
env: NIMBRANCH=devel ARCH=64
- os: linux
env: NIMBRANCH=devel ARCH=32
- os: osx
env: NIMBRANCH=devel ARCH=64
- os: windows
env: NIMBRANCH=devel ARCH=64
- os: windows
env: NIMBRANCH=devel ARCH=32
- os: linux
env: NIMBRANCH=devel ARCH=armv6
- os: linux
env: NIMBRANCH=devel ARCH=armv7a
- os: linux
env: NIMBRANCH=devel ARCH=armv7
- os: linux
env: NIMBRANCH=devel ARCH=arm64
- os: linux
env: NIMBRANCH=devel ARCH=arm64 OSVAR=android
branches:
only:
# Prevent building the auto tagged "untagged-*" commits.
# https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches
- master
addons:
apt:
update: true
packages:
- libcurl4-openssl-dev
- libsdl1.2-dev
- libgc-dev
- libsfml-dev
- nodejs
before_cache:
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]
then
brew cleanup
fi
cache:
directories:
- nim
- mingw
- $HOME/Library/Caches/Homebrew
script:
- . ./nightlies.sh
before_deploy:
- git config --local user.name "${GIT_TAG_USER_NAME}"
- git config --local user.email "${GIT_TAG_USER_EMAIL}"
- export TRAVIS_TAG="${BUILD_DATE}-${NIMBRANCH}-${NIMVERSHORT}"
- git tag "${TRAVIS_TAG}" || echo "${TRAVIS_TAG} already exists"
- echo "[phase n-1] The deploy will start now .."
deploy:
provider: releases
api_key: "${GITHUB_OAUTH_TOKEN}"
file: "${ASSETFILE}"
name: "${TRAVIS_TAG} nightly build"
body: >-
This nightly release was built on ${BUILD_DATE} using https://github.com/nim-lang/Nim/tree/${NIMVER}.
The Windows and Linux archives contain pre-packaged source as well as platform specific binaries
whereas the OSX archive contains pre-packaged source only. Any of these archives can be used to
build Nim on Windows, Linux and OSX.
skip_cleanup: true
on:
condition: "! -z ${DO_DEPLOY+x}"
tags: false
notifications:
email:
on_success: never # default: change
on_failure: always # default: always