Skip to content

Commit

Permalink
Merge pull request #101 from noahdesu/coverity
Browse files Browse the repository at this point in the history
ci: enable coverity for new travis-ci config

Fixes #94 

Signed-off-by: Noah Watkins <[email protected]>
  • Loading branch information
dotnwat authored Aug 20, 2016
2 parents 8fd54ea + c0e0103 commit 22edbc2
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 49 deletions.
30 changes: 19 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,28 @@ env:
# via the "travis encrypt" command using the project repo's public key
- secure: "EhSojL5dZ7LY9S59Iixzw8KUtMqVdE8dZTZqZ0gnA1VfG4XcQr8u8Vi9jJzGaGxcXIL10p3nE4whrmhlEhUpxKkrcOgKo9vKmn9xByUHd0CBhBudZAdlQsq4DMEp20qAwg+5iuCUHS6cn3UjduQqdo9YMhfqFuRiH+U3oZxS0W4="

os:
- linux
- osx

compiler:
- gcc
- clang

matrix:
include:
- os: linux
compiler: gcc
- os: linux
compiler: clang
- os: osx
compiler: gcc
- os: osx
compiler: clang
- os: linux
compiler: gcc
env: RUN_COVERAGE=1

before_install: ci/before_install.sh
script: ci/script.sh
after_success: ci/after_success.sh
before_install:
- test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
- ci/before_install.sh

script:
- test $TRAVIS_BRANCH != coverity_scan || exit 0
- ci/script.sh

after_success:
- test $TRAVIS_BRANCH != coverity_scan || exit 0
- ci/after_success.sh
39 changes: 39 additions & 0 deletions ci/before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,42 @@ elif [ "${TRAVIS_OS_NAME}" == "osx" ]; then
brew update
brew install boost protobuf cmake || true
fi

#
# Build and cache the ZLog plugin for Ceph? If the cache is empty we'll build
# the plugin inside a docker container and move the plugin into the cache.
#
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
if [ ! -f "$HOME/zlog_ceph_deps/cls_zlog_client.h" ]; then

cat <<EOF | docker build -t zlog_deps -
FROM ubuntu:trusty
RUN apt-get update -qq && apt-get install -y git build-essential
RUN mkdir -p /src/ceph && cd /src/ceph && \
git clone --recursive --branch=zlog/jewel \
https://github.com/noahdesu/ceph.git && \
cd ceph && ./install-deps.sh
RUN cd /src/ceph/ceph && ./autogen.sh && \
./configure --prefix=/usr && \
cd src && make libcls_zlog.la libcls_zlog_client.la
EOF

# copy artificats back into host
mkdir -p $HOME/zlog_ceph_deps
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
bash -c "cp -a /src/ceph/ceph/src/.libs/libcls_zlog.so* /deps"
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
bash -c "cp -a /src/ceph/ceph/src/.libs/libcls_zlog_client.so* /deps"
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
cp /src/ceph/ceph/src/cls/zlog/cls_zlog_client.h /deps
fi

# install (either from cache, or just built in docker above)
sudo ls -l $HOME/zlog_ceph_deps/
sudo cp -a $HOME/zlog_ceph_deps/libcls_zlog.so* /usr/lib/rados-classes/
sudo cp -a $HOME/zlog_ceph_deps/libcls_zlog_client.so* /usr/lib/
sudo cp $HOME/zlog_ceph_deps/cls_zlog_client.h /usr/include/rados/
fi
39 changes: 1 addition & 38 deletions ci/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,8 @@

set -e

#
# Build and cache the ZLog plugin for Ceph? If the cache is empty we'll build
# the plugin inside a docker container and move the plugin into the cache.
#
# start ceph
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
if [ ! -f "$HOME/zlog_ceph_deps/cls_zlog_client.h" ]; then

cat <<EOF | docker build -t zlog_deps -
FROM ubuntu:trusty
RUN apt-get update -qq && apt-get install -y git build-essential
RUN mkdir -p /src/ceph && cd /src/ceph && \
git clone --recursive --branch=zlog/jewel \
https://github.com/noahdesu/ceph.git && \
cd ceph && ./install-deps.sh
RUN cd /src/ceph/ceph && ./autogen.sh && \
./configure --prefix=/usr && \
cd src && make libcls_zlog.la libcls_zlog_client.la
EOF

# copy artificats back into host
mkdir -p $HOME/zlog_ceph_deps
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
bash -c "cp -a /src/ceph/ceph/src/.libs/libcls_zlog.so* /deps"
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
bash -c "cp -a /src/ceph/ceph/src/.libs/libcls_zlog_client.so* /deps"
docker run -v $HOME/zlog_ceph_deps/:/deps -it zlog_deps \
cp /src/ceph/ceph/src/cls/zlog/cls_zlog_client.h /deps
fi

# install (either from cache, or just built in docker above)
sudo ls -l $HOME/zlog_ceph_deps/
sudo cp -a $HOME/zlog_ceph_deps/libcls_zlog.so* /usr/lib/rados-classes/
sudo cp -a $HOME/zlog_ceph_deps/libcls_zlog_client.so* /usr/lib/
sudo cp $HOME/zlog_ceph_deps/cls_zlog_client.h /usr/include/rados/

# start ceph
ci/micro-osd.sh /tmp/osd
CEPH_CONF=/tmp/osd/ceph.conf ceph status
fi
Expand Down

0 comments on commit 22edbc2

Please sign in to comment.