forked from apache/arrow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
119 lines (108 loc) · 3.37 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
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
dist: bionic
language: minimal
cache:
directories:
- $TRAVIS_BUILD_DIR/.docker
addons:
apt:
packages:
- python3-pip
services:
- docker
jobs:
include:
- name: "C++ on ARM"
os: linux
arch: arm64
env:
ARCH: arm64v8
ARROW_CI_MODULES: "CPP"
DOCKER_IMAGE_ID: ubuntu-cpp
UBUNTU: "20.04"
- name: "C++ on s390x"
os: linux
arch: s390x
env:
ARCH: s390x
ARROW_CI_MODULES: "CPP"
ARROW_FLIGHT: "ON"
ARROW_PARQUET: "OFF"
CMAKE_UNITY_BUILD: "OFF" # Avoid compiler crash
DOCKER_IMAGE_ID: ubuntu-cpp
PARQUET_BUILD_EXAMPLES: "OFF"
PARQUET_BUILD_EXECUTABLES: "OFF"
Protobuf_SOURCE: "BUNDLED"
UBUNTU: "20.04"
cares_SOURCE: "BUNDLED"
gRPC_SOURCE: "BUNDLED"
- name: "Go on s390x"
os: linux
arch: s390x
env:
ARCH: s390x
ARROW_CI_MODULES: "GO"
DOCKER_IMAGE_ID: debian-go
allow_failures:
- arch: s390x
env:
DOCKER_BUILDKIT: 0
COMPOSE_DOCKER_CLI_BUILD: 1
ARROW_ENABLE_TIMING_TESTS: "OFF"
before_install:
- eval "$(python ci/detect-changes.py)"
- |
arrow_ci_affected=no
for arrow_ci_module in ${ARROW_CI_MODULES}; do
arrow_ci_affected_variable=ARROW_CI_${arrow_ci_module}_AFFECTED
if [ "$(eval "echo \$${arrow_ci_affected_variable}")" = "1" ]; then
arrow_ci_affected=yes
fi
done
if [ "${arrow_ci_affected}" = "no" ]; then
travis_terminate 0
fi
install:
- pip3 install -e dev/archery[docker]
script:
- sudo sysctl -w kernel.core_pattern="core.%e.%p"
# This isn't allowed on Travis CI:
# /home/travis/.travis/functions: line 109: ulimit: core file size: cannot modify limit: Operation not permitted
- |
ulimit -c unlimited || :
- |
archery docker run \
-e ARROW_BUILD_STATIC=${ARROW_BUILD_STATIC:-OFF} \
-e ARROW_FLIGHT=${ARROW_FLIGHT:-OFF} \
-e ARROW_ORC=${ARROW_ORC:-OFF} \
-e ARROW_PARQUET=${ARROW_PARQUET:-ON} \
-e ARROW_USE_GLOG=${ARROW_USE_GLOG:-OFF} \
-e CMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-ON} \
-e PARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:-ON} \
-e PARQUET_BUILD_EXECUTABLES=${PARQUET_BUILD_EXECUTABLES:-ON} \
-e Protobuf_SOURCE=${Protobuf_SOURCE:-} \
-e cares_SOURCE=${cares_SOURCE:-} \
-e gRPC_SOURCE=${gRPC_SOURCE:-} \
--volume ${PWD}/build:/build \
${DOCKER_IMAGE_ID}
after_success:
- |
if [ "${TRAVIS_EVENT_TYPE}" = "push" -a \
"${TRAVIS_REPO_SLUG}" = "apache/arrow" ]; then
archery docker push ${DOCKER_IMAGE_ID} || :
fi