diff --git a/.travis.yml b/.travis.yml index acc325a2..9a69619c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,3 +21,9 @@ script: - make - make tests - make docs + +deploy: + provider: script + script: sh docker-deploy.sh + on: + branch: master diff --git a/Dockerfile-amd64 b/Dockerfile-amd64 new file mode 100644 index 00000000..e71534bd --- /dev/null +++ b/Dockerfile-amd64 @@ -0,0 +1,18 @@ +# Using AMD64 Architecture +FROM debian:jessie + +RUN apt-get update -qq && \ + apt-get install -y flex \ + bison \ + git \ + cmake \ + build-essential \ + python \ + debhelper \ + devscripts + +ADD . /doxyparse + +WORKDIR /doxyparse + +CMD ["sh", "compile-pkg.sh"] diff --git a/Dockerfile-i386 b/Dockerfile-i386 new file mode 100644 index 00000000..b775bb32 --- /dev/null +++ b/Dockerfile-i386 @@ -0,0 +1,19 @@ +# Using i386 Architecture +FROM i386/debian:jessie + +RUN apt-get update -qq && \ + apt-get install -y flex \ + bison \ + git \ + cmake \ + build-essential \ + python \ + debhelper \ + devscripts + +ADD . /doxyparse + +WORKDIR /doxyparse + +ENTRYPOINT ["linux32"] +CMD ["sh", "compile-pkg.sh"] diff --git a/compile-pkg.sh b/compile-pkg.sh new file mode 100755 index 00000000..0d0ff68c --- /dev/null +++ b/compile-pkg.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Compiling repository +mkdir build/ +cd build/ +cmake -G "Unix Makefiles" -Dbuild_parse=ON +make + +cd .. +rm -rf build/ diff --git a/docker-deploy.sh b/docker-deploy.sh new file mode 100644 index 00000000..40a0256b --- /dev/null +++ b/docker-deploy.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# Represents the latest version of the project according to VERSION file +VERSION=$(cat VERSION) + +DOCKERFILE_AMD64=$PWD/Dockerfile-amd64 +DOCKERFILE_I386=$PWD/Dockerfile-i386 + +echo "Latest Doxyparse version is $VERSION"; + +# double validation in script and in .travis.yml +if [[ "${TRAVIS_BRANCH}" == "master" ]]; then + echo "Deploying to Docker registry latest Doxyparse..."; + docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; + docker build -f $DOCKERFILE_AMD64 -t doxyparse:amd64-$VERSION .; + docker build -f $DOCKERFILE_I386 -t doxyparse:i386-$VERSION .; + docker tag doxyparse:amd64-$VERSION $DOCKER_USERNAME/doxyparse:amd64-$VERSION; + docker tag doxyparse:i386-$VERSION $DOCKER_USERNAME/doxyparse:i386-$VERSION; + docker push $DOCKER_USERNAME/doxyparse:amd64-$VERSION; + docker push $DOCKER_USERNAME/doxyparse:i386-$VERSION; +else + echo "Skipping Docker registry deploy"; +fi;