blob: 2c5f2965107b89683b6f35b6aa38d5de9321d0a5 [file] [log] [blame]
# 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: focal
language: minimal
cache:
directories:
- $TRAVIS_BUILD_DIR/.docker
addons:
apt:
packages:
- python3-pip
services:
- docker
# Note that the global "env" setting isn't inherited automatically by
# matrix entries with their own "env", so we have to insert it explicitly.
env: &global_env
ARROW_ENABLE_TIMING_TESTS: "OFF"
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 0
DOCKER_VOLUME_PREFIX: $TRAVIS_BUILD_DIR/.docker/
jobs:
include:
- name: "C++ on s390x"
os: linux
arch: s390x
env:
<<: *global_env
ARCH: s390x
ARROW_CI_MODULES: "CPP"
DOCKER_IMAGE_ID: ubuntu-cpp
# Can't enable ARROW_MIMALLOC because of failures in memory pool tests.
# Can't enable ARROW_S3 because compiler is killed while compiling
# aws-sdk-cpp.
DOCKER_RUN_ARGS: >-
"
-e ARROW_FLIGHT=ON
-e ARROW_GCS=OFF
-e ARROW_MIMALLOC=OFF
-e ARROW_ORC=OFF
-e ARROW_PARQUET=OFF
-e ARROW_S3=OFF
-e ARROW_SUBSTRAIT=OFF
-e CMAKE_BUILD_PARALLEL_LEVEL=2
-e CMAKE_UNITY_BUILD=ON
-e PARQUET_BUILD_EXAMPLES=OFF
-e PARQUET_BUILD_EXECUTABLES=OFF
-e Protobuf_SOURCE=BUNDLED
-e gRPC_SOURCE=BUNDLED
"
# The LLVM's APT repository causes download error for s390x binary
# We should use the LLVM provided by the default APT repository
CLANG_TOOLS: "10"
LLVM: "10"
UBUNTU: "20.04"
- name: "Go on s390x"
os: linux
arch: s390x
env:
<<: *global_env
ARCH: s390x
ARROW_CI_MODULES: "GO"
DOCKER_IMAGE_ID: debian-go
- name: "Java on s390x"
os: linux
arch: s390x
env:
<<: *global_env
ARCH: s390x
ARROW_CI_MODULES: "JAVA"
DOCKER_IMAGE_ID: debian-java
JDK: 11
- name: "Python on s390x"
os: linux
arch: s390x
env:
<<: *global_env
ARCH: s390x
ARROW_CI_MODULES: "PYTHON"
DOCKER_IMAGE_ID: ubuntu-python
# Can't enable ARROW_MIMALLOC because of failures in memory pool tests.
# Can't enable ARROW_S3 because compiler is killed while compiling
# aws-sdk-cpp.
DOCKER_RUN_ARGS: >-
"
-e ARROW_FLIGHT=ON
-e ARROW_GCS=OFF
-e ARROW_MIMALLOC=OFF
-e ARROW_ORC=OFF
-e ARROW_PARQUET=OFF
-e ARROW_PYTHON=ON
-e ARROW_S3=OFF
-e CMAKE_BUILD_PARALLEL_LEVEL=2
-e CMAKE_UNITY_BUILD=ON
-e PARQUET_BUILD_EXAMPLES=OFF
-e PARQUET_BUILD_EXECUTABLES=OFF
-e Protobuf_SOURCE=BUNDLED
-e gRPC_SOURCE=BUNDLED
"
# The LLVM's APT repository causes download error for s390x binary
# We should use the LLVM provided by the default APT repository
CLANG_TOOLS: "10"
LLVM: "10"
UBUNTU: "20.04"
allow_failures:
- name: "Java on s390x"
- name: "C++ on s390x"
- name: "Python on s390x"
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:
- sudo -H pip3 install --upgrade pip
- sudo -H pip3 install 'docker-compose>=1.27.0'
- sudo -H pip3 install -e dev/archery[docker]
script:
- export ARCHERY_DEFAULT_BRANCH=$(git rev-parse --abbrev-ref origin/HEAD | sed s@origin/@@)
- |
archery docker run \
${DOCKER_RUN_ARGS} \
--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