forked from spinalcordtoolbox/spinalcordtoolbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
119 lines (113 loc) · 3.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# testing file for Travis
# https://travis-ci.org/neuropoly/spinalcordtoolbox
notifications:
slack: neuropoly:YA3mt28aeHN3A0Iu7RvMFigK
on_success:change
on_failure:always
git:
autocrlf: false
# this enables to avoid recompilation of dipy if it was already compiled previously
#cache:
# directories:
# - ${HOME}/.cache/pip
# safelist
# branches with associated PRs are still built by https://docs.travis-ci.com/user/pull-requests
branches:
only:
- master
- release
matrix:
include:
# To support OSes that Travis doesn't, we mix in Docker images.
# Any such OS (CentOS, etc) will be booted in docker instead.
# OSes in this case are marked by using DOCKER_IMAGE: instead of dist:.
#
# Since Docker images are usually very barebones,
# these need a DEPS command that should install the
# basic dependencies needed for conda etc.
#
# Testing this way is imperfect -- these docker images are not
# identical to freshly installed VMs, and by using docker we're
# mismatching kernels, but it is a lot better than not testing.
- name: "ArchLinux"
if: branch = release or type = cron
os: linux
dist: bionic # Arch needs a recent kernel
services:
- docker
env:
- DOCKER_IMAGE="archlinux" DOCKER_DEPS_CMD="pacman -Sy --noconfirm which gcc git curl"
- name: "Debian Rolling Release"
if: branch = release or type = cron
os: linux
dist: bionic
services:
- docker
env:
- DOCKER_IMAGE="debian:sid" DOCKER_DEPS_CMD="apt update && apt install -y libglib2.0-0 procps gcc git curl"
- name: "Debian Testing"
if: branch = release or type = cron
os: linux
dist: bionic
services:
- docker
env:
- DOCKER_IMAGE="debian:testing" DOCKER_DEPS_CMD="apt update && apt install -y libglib2.0-0 procps gcc git curl"
- name: "Debian 10"
if: branch = release or type = cron
os: linux
dist: bionic # kernel ~= Debian:10
services:
- docker
env:
- DOCKER_IMAGE="debian:10" DOCKER_DEPS_CMD="apt update && apt install -y libglib2.0-0 procps gcc git curl"
- name: "Debian 9"
if: branch = release or type = cron
os: linux
dist: xenial # kernel ~= Debian:9
services:
- docker
env:
- DOCKER_IMAGE="debian:9" DOCKER_DEPS_CMD="apt update && apt install -y libglib2.0-0 procps gcc git curl"
- name: "CentOS 8"
# runs on all branches
os: linux
dist: bionic # kernel ~= Centos8
services:
- docker
env:
- DOCKER_IMAGE="centos:8" DOCKER_DEPS_CMD="yum install -y which gcc git curl"
- name: "CentOS 7"
if: branch = release or type = cron
os: linux
dist: xenial # kernel ~= Centos7
services:
- docker
env:
- DOCKER_IMAGE="centos:7" DOCKER_DEPS_CMD="yum install -y which gcc git curl"
# The rest of the OSes can use Travis's built-in images:
- name: "Ubuntu 18.04 (Bionic Beaver)"
# runs on all branches
os: linux # list of Linux env: https://docs.travis-ci.com/user/reference/overview/
dist: bionic
- os: linux
name: "Ubuntu 16.04 (Xenial)"
if: branch = release or type = cron
dist: xenial
- name: "OSX 10.15 (Catalina)"
# runs on all branches
os: osx # list of OSX env: https://docs.travis-ci.com/user/reference/osx/
osx_image: xcode12.2
- name: "OSX 10.14 (Mojave)"
if: branch = release or type = cron
os: osx
osx_image: xcode11.3
- name: "OSX 10.13 (High Sierra)"
if: branch = release or type = cron
os: osx
osx_image: xcode9.4
- name: "Windows Server, 1809"
# runs on all branches
language: bash
os: windows
script: ./.travis.sh