Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 35 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,30 +40,56 @@ jobs:
ARCH: arm64v8
ARROW_CI_MODULES: "CPP"
DOCKER_IMAGE_ID: ubuntu-cpp
# ARROW_USE_GLOG=OFF is needed to avoid build error caused by
# glog and CMAKE_UNITY_BUILD=ON.
DOCKER_RUN_ARGS: >-
"
-e ARROW_BUILD_STATIC=OFF
-e ARROW_ORC=OFF
-e ARROW_USE_GLOG=OFF
-e CMAKE_UNITY_BUILD=ON
"
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"
# Can't use CMAKE_UNITIFY_BUILD=ON because of compiler crash
DOCKER_RUN_ARGS: >-
"
-e ARROW_BUILD_STATIC=OFF
-e ARROW_FLIGHT=ON
-e ARROW_ORC=OFF
-e ARROW_PARQUET=OFF
-e PARQUET_BUILD_EXAMPLES=OFF
-e PARQUET_BUILD_EXECUTABLES=OFF
-e Protobuf_SOURCE=BUNDLED
-e cares_SOURCE=BUNDLED
-e gRPC_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

- name: "Java on s390x"
os: linux
arch: s390x
env:
ARCH: s390x
ARROW_CI_MODULES: "JAVA"
DOCKER_IMAGE_ID: debian-java
JDK: 11

allow_failures:
- arch: s390x

Expand Down Expand Up @@ -97,17 +123,7 @@ script:
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:-} \
${DOCKER_RUN_ARGS} \
--volume ${PWD}/build:/build \
${DOCKER_IMAGE_ID}

Expand Down
55 changes: 55 additions & 0 deletions ci/scripts/java_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,61 @@ source_dir=${1}/java
cpp_build_dir=${2}/cpp/${ARROW_BUILD_TYPE:-debug}
with_docs=${3:-false}

if [[ "$(uname -s)" == "Linux" ]] && [[ "$(uname -m)" == "s390x" ]]; then
# Since some files for s390_64 are not available at maven central,
# download pre-build files from bintray and install them explicitly
mvn_install="mvn install:install-file"
wget="wget"
bintray_base_url="https://dl.bintray.com/apache/arrow"

bintray_dir="flatc-binary"
group="com.github.icexelloss"
artifact="flatc-linux-s390_64"
ver="1.9.0"
extension="exe"
target=${artifact}-${ver}.${extension}
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/${target}
${mvn_install} -DgroupId=${group} -DartifactId=${artifact} -Dversion=${ver} -Dpackaging=${extension} -Dfile=$(pwd)/${target}

bintray_dir="protoc-binary"
group="com.google.protobuf"
artifact="protoc"
ver="3.7.1"
classifier="linux-s390_64"
extension="exe"
target=${artifact}-${ver}-${classifier}.${extension}
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/${target}
${mvn_install} -DgroupId=${group} -DartifactId=${artifact} -Dversion=${ver} -Dclassifier=${classifier} -Dpackaging=${extension} -Dfile=$(pwd)/${target}
# protoc requires libprotoc.so.18
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/libprotoc.so.18
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(pwd)

bintray_dir="protoc-gen-grpc-java-binary"
group="io.grpc"
artifact="protoc-gen-grpc-java"
ver="1.30.2"
classifier="linux-s390_64"
extension="exe"
target=${artifact}-${ver}-${classifier}.${extension}
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/${target}
${mvn_install} -DgroupId=${group} -DartifactId=${artifact} -Dversion=${ver} -Dclassifier=${classifier} -Dpackaging=${extension} -Dfile=$(pwd)/${target}

bintray_dir="netty-binary"
group="io.netty"
artifact="netty-transport-native-unix-common"
ver="4.1.48.Final"
classifier="linux-s390_64"
extension="jar"
target=${artifact}-${ver}-${classifier}.${extension}
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/${target}
${mvn_install} -DgroupId=${group} -DartifactId=${artifact} -Dversion=${ver} -Dclassifier=${classifier} -Dpackaging=${extension} -Dfile=$(pwd)/${target}
artifact="netty-transport-native-epoll"
extension="jar"
target=${artifact}-${ver}-${classifier}.${extension}
${wget} ${bintray_base_url}/${bintray_dir}/${ver}/${target}
${mvn_install} -DgroupId=${group} -DartifactId=${artifact} -Dversion=${ver} -Dclassifier=${classifier} -Dpackaging=${extension} -Dfile=$(pwd)/${target}
fi

mvn="mvn -B -DskipTests -Drat.skip=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
# Use `2 * ncores` threads
mvn="${mvn} -T 2C"
Expand Down