78 lines
3.1 KiB
Bash
78 lines
3.1 KiB
Bash
|
#!/bin/bash
|
||
|
################################################################################
|
||
|
# Copyright (c) 2015-2018 Skymind, Inc.
|
||
|
#
|
||
|
# This program and the accompanying materials are made available under the
|
||
|
# terms of the Apache License, Version 2.0 which is available at
|
||
|
# https://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.
|
||
|
#
|
||
|
# SPDX-License-Identifier: Apache-2.0
|
||
|
################################################################################
|
||
|
|
||
|
set -evx
|
||
|
|
||
|
while true; do echo .; sleep 60; done &
|
||
|
|
||
|
sudo fallocate -l 4GB /swapfile
|
||
|
sudo chmod 600 /swapfile
|
||
|
sudo mkswap /swapfile
|
||
|
sudo swapon /swapfile
|
||
|
|
||
|
if [[ $TRAVIS_PULL_REQUEST == "false" ]]; then
|
||
|
BRANCH=$TRAVIS_BRANCH
|
||
|
MAVEN_PHASE="deploy"
|
||
|
else
|
||
|
BRANCH=$TRAVIS_PULL_REQUEST_BRANCH
|
||
|
MAVEN_PHASE="install"
|
||
|
fi
|
||
|
|
||
|
if ! git -C $TRAVIS_BUILD_DIR/.. clone https://github.com/deeplearning4j/libnd4j/ --depth=50 --branch=$BRANCH; then
|
||
|
git -C $TRAVIS_BUILD_DIR/.. clone https://github.com/deeplearning4j/libnd4j/ --depth=50
|
||
|
fi
|
||
|
|
||
|
PROTOBUF=3.5.1
|
||
|
curl --retry 10 -L https://github.com/google/protobuf/releases/download/v$PROTOBUF/protobuf-cpp-$PROTOBUF.tar.gz -o $HOME/protobuf-$PROTOBUF.tar.gz
|
||
|
tar -C $TRAVIS_BUILD_DIR/.. --totals -xf $HOME/protobuf-$PROTOBUF.tar.gz
|
||
|
|
||
|
if [[ -n "${EXT:-}" ]]; then
|
||
|
DEVTOOLSET=6
|
||
|
else
|
||
|
DEVTOOLSET=4
|
||
|
fi
|
||
|
|
||
|
if [[ -n "${CUDA:-}" ]]; then
|
||
|
DOCKER_IMAGE=nvidia/cuda:$CUDA-devel-centos6
|
||
|
else
|
||
|
DOCKER_IMAGE=centos:6
|
||
|
fi
|
||
|
|
||
|
docker run -ti -e SONATYPE_USERNAME -e SONATYPE_PASSWORD -v $HOME/.m2:/root/.m2 -v $TRAVIS_BUILD_DIR/..:/build $DOCKER_IMAGE /bin/bash -evxc "\
|
||
|
yum -y install centos-release-scl-rh epel-release; \
|
||
|
yum -y install devtoolset-$DEVTOOLSET-toolchain rh-maven33 cmake3 git java-1.8.0-openjdk-devel; \
|
||
|
source scl_source enable devtoolset-$DEVTOOLSET rh-maven33 || true; \
|
||
|
cd /build/protobuf-$PROTOBUF/; \
|
||
|
./configure; \
|
||
|
make -j2; \
|
||
|
cd /build/libnd4j/; \
|
||
|
sed -i /cmake_minimum_required/d CMakeLists.txt; \
|
||
|
if [[ -n \"${CUDA:-}\" ]]; then \
|
||
|
MAKEJ=1 bash buildnativeoperations.sh -c cuda -v $CUDA -cc 30; \
|
||
|
cd /build/nd4j/; \
|
||
|
bash change-cuda-versions.sh $CUDA; \
|
||
|
EXTRA_OPTIONS='-pl !nd4j-uberjar,!nd4j-backends/nd4j-backend-impls/nd4j-native,!nd4j-backends/nd4j-backend-impls/nd4j-native-platform,!nd4j-backends/nd4j-tests'; \
|
||
|
else \
|
||
|
MAKEJ=2 bash buildnativeoperations.sh -c cpu -e ${EXT:-}; \
|
||
|
cd /build/nd4j/; \
|
||
|
EXTRA_OPTIONS='-pl !nd4j-uberjar,!nd4j-backends/nd4j-backend-impls/nd4j-cuda,!nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform,!nd4j-backends/nd4j-tests'; \
|
||
|
fi; \
|
||
|
bash change-scala-versions.sh $SCALA; \
|
||
|
mvn clean $MAVEN_PHASE -B -U --settings ./ci/settings.xml -Dmaven.test.skip=true -Dlocal.software.repository=sonatype \
|
||
|
-Dlibnd4j.extension=${EXT:-} \$EXTRA_OPTIONS -DprotocCommand=/build/protobuf-$PROTOBUF/src/protoc;"
|
||
|
|