diff options
Diffstat (limited to 'travis')
-rwxr-xr-x | travis/build.sh | 15 | ||||
-rwxr-xr-x | travis/deploy.sh | 71 | ||||
-rw-r--r-- | travis/targets/dist-srpm.sh | 19 | ||||
-rw-r--r-- | travis/targets/distcheck.sh | 19 | ||||
-rw-r--r-- | travis/targets/github-lambda.sh | 33 | ||||
-rw-r--r-- | travis/targets/make-embedded.sh | 15 | ||||
-rw-r--r-- | travis/targets/valgrind.sh | 15 |
7 files changed, 187 insertions, 0 deletions
diff --git a/travis/build.sh b/travis/build.sh new file mode 100755 index 0000000..9e12ada --- /dev/null +++ b/travis/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -ex + +if [[ -n "${TARGET}" ]] && [[ -e "travis/targets/${TARGET}.sh" ]]; then + source "travis/targets/${TARGET}.sh" +else + echo "Target not defined or invalid!" + exit 1 +fi + +rm -rf build +mkdir -p build + +build diff --git a/travis/deploy.sh b/travis/deploy.sh new file mode 100755 index 0000000..15b53a7 --- /dev/null +++ b/travis/deploy.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +set -e + +if [[ "x${TRAVIS_PULL_REQUEST}" != "xfalse" ]]; then + echo "This is a pull request. skipping deploy ..." + exit 0 +fi + +if [[ "x${TRAVIS_BRANCH}" != "xmaster" ]] && [[ "x${TRAVIS_TAG}" != xv* ]]; then + echo "This isn't master branch nor a valid tag. skipping deploy ..." + exit 0 +fi + +if [[ "x${CC}" != "xgcc" ]] || [[ "x${TARGET}" = "xvalgrind" ]] || [[ "x${TARGET}" = "xblogc-make-embedded" ]]; then + echo "Invalid target for deploy. skipping ..." + exit 0 +fi + +if [[ ! -d build ]]; then + echo "Build directory not found." + exit 1 +fi + +FILES= +if [[ -n "${TARGET}" ]] && [[ -e "travis/targets/${TARGET}.sh" ]]; then + source "travis/targets/${TARGET}.sh" +else + echo "Target not defined or invalid!" + exit 1 +fi + +deploy + +TARNAME="$(grep PACKAGE_TARNAME build/config.h | cut -d\" -f2)" +VERSION="$(grep PACKAGE_VERSION build/config.h | cut -d\" -f2)" + +do_curl() { + curl \ + --silent \ + --ftp-create-dirs \ + --upload-file "${1}" \ + --user "${FTP_USER}:${FTP_PASSWORD}" \ + "ftp://${FTP_HOST}/public_html/${TARNAME}/${TARNAME}-${VERSION}/$(basename ${1})" +} + +echo " * Found files:" +for f in "${FILES[@]}"; do + echo " $(basename ${f})" +done +echo + +for f in "${FILES[@]}"; do + echo " * Processing file: $(basename ${f}):" + + echo -n " Generating SHA512 checksum ... " + pushd "$(dirname ${f})" > /dev/null + sha512sum "$(basename ${f})" > "$(basename ${f}).sha512" + popd > /dev/null + echo "done" + + echo -n " Uploading file ... " + do_curl "${f}" + echo "done" + + echo -n " Uploading SHA512 checksum ... " + do_curl "${f}.sha512" + echo "done" + + echo +done diff --git a/travis/targets/dist-srpm.sh b/travis/targets/dist-srpm.sh new file mode 100644 index 0000000..87858c6 --- /dev/null +++ b/travis/targets/dist-srpm.sh @@ -0,0 +1,19 @@ +build() { + pushd build > /dev/null + ../configure \ + CFLAGS="-Wall -g -O0" \ + --disable-silent-rules \ + --enable-ronn \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-make \ + --enable-runserver + popd > /dev/null + + make -C build dist-srpm +} + +deploy() { + FILES=( build/*.src.rpm ) +} diff --git a/travis/targets/distcheck.sh b/travis/targets/distcheck.sh new file mode 100644 index 0000000..06a0ba3 --- /dev/null +++ b/travis/targets/distcheck.sh @@ -0,0 +1,19 @@ +build() { + pushd build > /dev/null + ../configure \ + CFLAGS="-Wall -g -O0" \ + --disable-silent-rules \ + --enable-ronn \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-make \ + --enable-runserver + popd > /dev/null + + make -C build distcheck +} + +deploy() { + FILES=( build/*.{*.tar.{gz,bz2,xz},zip} ) +} diff --git a/travis/targets/github-lambda.sh b/travis/targets/github-lambda.sh new file mode 100644 index 0000000..a92d586 --- /dev/null +++ b/travis/targets/github-lambda.sh @@ -0,0 +1,33 @@ +build() { + pushd build > /dev/null + ../configure \ + CFLAGS="-Wall -g -O0" \ + --enable-ronn \ + --disable-silent-rules \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-make-embedded \ + --enable-runserver + popd > /dev/null + + make -C build LDFLAGS="-all-static" blogc + + rm -rf build/root + mkdir -p build/root + + PV="$(grep PACKAGE_VERSION build/config.h | cut -d\" -f2)" + + install -m 755 build/blogc build/root/blogc + install -m 644 src/blogc-github-lambda/lambda_function.py build/root/lambda_function.py + install -m 644 LICENSE build/root/LICENSE + strip build/root/blogc + + pushd build/root/ > /dev/null + zip -rq "../blogc-github-lambda-${PV}.zip" * + popd > /dev/null +} + +deploy() { + FILES=( build/*.zip ) +} diff --git a/travis/targets/make-embedded.sh b/travis/targets/make-embedded.sh new file mode 100644 index 0000000..b2d3f80 --- /dev/null +++ b/travis/targets/make-embedded.sh @@ -0,0 +1,15 @@ +build() { + pushd build > /dev/null + ../configure \ + CFLAGS="-Wall -g -O0" \ + --enable-ronn \ + --disable-silent-rules \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-make-embedded \ + --enable-runserver + popd > /dev/null + + make -C build check +} diff --git a/travis/targets/valgrind.sh b/travis/targets/valgrind.sh new file mode 100644 index 0000000..7870ec1 --- /dev/null +++ b/travis/targets/valgrind.sh @@ -0,0 +1,15 @@ +build() { + pushd build > /dev/null + ../configure \ + CFLAGS="-Wall -g -O0" \ + --disable-silent-rules \ + --enable-ronn \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-make \ + --enable-runserver + popd > /dev/null + + make -C build valgrind +} |