Repository: geode Updated Branches: refs/heads/next-gen-native-client-software-grant 8b53f0a16 -> d7a2a9dd1
GEODE-2437 Add travis-ci file Configure travis-ci to build cppcache on linux and run unit tests. Use the docker service to ensure that toolchain requirements are met. The docker container can be built with `docker build -t apachegeode/geode-native-build:1.0 \ --build-arg GEODE_VERSION=1.0.0-incubating docker/` where GEODE_VERSION is a released version of Apache Geode. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0912d53f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0912d53f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0912d53f Branch: refs/heads/next-gen-native-client-software-grant Commit: 0912d53f200e4ae5668416436c8f7d1412c068bd Parents: 8b53f0a Author: Anthony Baker <[email protected]> Authored: Tue Feb 7 07:25:04 2017 -0800 Committer: Anthony Baker <[email protected]> Committed: Tue Feb 7 21:14:57 2017 -0800 ---------------------------------------------------------------------- .travis.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ docker/Dockerfile | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/0912d53f/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a9619e6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,43 @@ +# 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. + +# cpp tools are outdated, so use docker +language: generic + +# required for docker +sudo: required + +services: + - docker + +install: + - docker build -t apachegeode/geode-native-build:1.0 --build-arg GEODE_VERSION=1.0.0-incubating docker/ + +script: + - DOCKER_ARGS="--volume=${TRAVIS_BUILD_DIR}:/geode-native --workdir=/geode-native" + - docker run ${DOCKER_ARGS} apachegeode/geode-native-build:1.0 bash -lc "mkdir build && cd build && cmake ../src && cmake --build . -- -j 8 && ./cppcache/test/apache-geode_unittests" + - docker stop $(docker ps -l -q) + +notifications: + email: + recipients: + - [email protected] + on_success: change + on_failure: change + +branches: + except: + - /^feature.*$/ + - asf-site http://git-wip-us.apache.org/repos/asf/geode/blob/0912d53f/docker/Dockerfile ---------------------------------------------------------------------- diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..ca9b00d --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,34 @@ +# 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. + +FROM ubuntu +LABEL maintainer Apache Geode <[email protected]> + +ARG GEODE_VERSION + +RUN apt-get update +RUN apt-get install -y build-essential cmake doxygen git openjdk-8-jdk \ + wget zlib1g-dev + +RUN \ + wget "https://www.apache.org/dyn/closer.cgi?action=download&filename=geode/1.0.0-incubating/apache-geode-${GEODE_VERSION}.tar.gz" && \ + tar xzf "closer.cgi?action=download&filename=geode%2F1.0.0-incubating%2Fapache-geode-${GEODE_VERSION}.tar.gz" && \ + rm "closer.cgi?action=download&filename=geode%2F1.0.0-incubating%2Fapache-geode-${GEODE_VERSION}.tar.gz" + +ENV GEODE /apache-geode-${GEODE_VERSION} +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 + +CMD ["bash"]
