From b512a908ca8973c5d5d6c90ac0eb7ef270ddb770 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 27 Mar 2017 18:25:02 +0300 Subject: Add circleci build system. --- circle.yml | 16 ++++++ tools/ci/scripts/circleci.sh | 115 +++++++++++++++++++++++++++++++++++++++++ tools/ci/scripts/docker_run.sh | 5 ++ 3 files changed, 136 insertions(+) create mode 100644 circle.yml create mode 100755 tools/ci/scripts/circleci.sh diff --git a/circle.yml b/circle.yml new file mode 100644 index 000000000..569df09c0 --- /dev/null +++ b/circle.yml @@ -0,0 +1,16 @@ +machine: + environment: + SDL1: "libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev" + SDL2: "libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev" + LIBS_PACKAGES: "make autoconf automake autopoint gettext libxml2-dev libcurl4-gnutls-dev libpng-dev" + services: + - docker +general: + artifacts: + - "logs" +test: + override: + - ./tools/ci/scripts/circleci.sh: + parallel: true + post: + - mv logs $CIRCLE_ARTIFACTS/ || true diff --git a/tools/ci/scripts/circleci.sh b/tools/ci/scripts/circleci.sh new file mode 100755 index 000000000..1341d98f6 --- /dev/null +++ b/tools/ci/scripts/circleci.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +echo "CI nodes: ${CIRCLE_NODE_TOTAL}" +echo "Current node: ${CIRCLE_NODE_INDEX}" + +case $CIRCLE_NODE_INDEX in + 0) + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc5.sh --enable-werror --without-opengl" + export PACKAGES="gcc-5 g++-5 ${LIBS_PACKAGES} ${SDL1}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6.sh --enable-werror --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_sanitize_tests.sh --without-dyecmd --without-manaplusgame --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --enable-glibcdebug" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + ;; + 1) + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc5.sh --enable-werror --without-opengl" + export PACKAGES="gcc-5 g++-5 ${LIBS_PACKAGES} ${SDL1}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6.sh --enable-werror --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_sanitize_tests.sh --without-dyecmd --without-manaplusgame --without-opengl" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --enable-glibcdebug" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL1} valgrind" + ./tools/ci/scripts/docker_run.sh + ;; + 2) + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc5.sh --enable-werror --without-opengl --with-sdl2" + export PACKAGES="gcc-5 g++-5 ${LIBS_PACKAGES} ${SDL2}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6.sh --enable-werror --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_sanitize_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=debian:unstable + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --enable-glibcdebug --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + ;; + 3) + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc5.sh --enable-werror --without-opengl --with-sdl2" + export PACKAGES="gcc-5 g++-5 ${LIBS_PACKAGES} ${SDL2}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6.sh --enable-werror --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2}" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_sanitize_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + + export IMAGE=vicamo/debian:sid-i386 + export COMMAND="./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --without-opengl --enable-glibcdebug --with-sdl2" + export PACKAGES="gcc-6 g++-6 ${LIBS_PACKAGES} ${SDL2} valgrind" + ./tools/ci/scripts/docker_run.sh + ;; + *) + echo unknown node + exit 1 + ;; +esac diff --git a/tools/ci/scripts/docker_run.sh b/tools/ci/scripts/docker_run.sh index 0f37de458..5c0cd1197 100755 --- a/tools/ci/scripts/docker_run.sh +++ b/tools/ci/scripts/docker_run.sh @@ -1,5 +1,10 @@ #!/bin/bash -x +echo "IMAGE: ${IMAGE}" +echo "PACKAGES: ${PACKAGES}" +echo "COMMAND: ${COMMAND}" +echo "JOBS: ${JOBS}" + docker pull ${IMAGE} docker run \ --volume=$(pwd):/build:rw \ -- cgit v1.2.3-70-g09d2