From f387f2ee6f2b5169ffb1bfba3016dc065f5181f9 Mon Sep 17 00:00:00 2001 From: David Manzanares Date: Thu, 5 Oct 2017 16:08:31 +0200 Subject: [PATCH] Testing dockerified --- Dockerfile | 33 +++++++++++++++++++++++++++++++++ package.json | 7 ++++++- run_tests.sh | 2 +- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..3b4fd258 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu:xenial + + +RUN apt-get -y update +RUN apt-get install -y software-properties-common +RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test +RUN apt-get -y update +RUN apt-get -y install curl wget protobuf-c-compiler + +#Use UTF8 to avoid encoding problems with pgsql +RUN apt-get -y install locales +ENV LANG C.UTF-8 +RUN locale-gen en_US.UTF-8 +RUN update-locale LANG=en_US.UTF-8 + +#Add 6.X node ppa +RUN curl -sL https://deb.nodesource.com/setup_6.x | bash +RUN apt-get -y install make libpixman-1-dev pkg-config postgresql-9.5 libcairo2-dev libjpeg8-dev libgif-dev libpango1.0-dev libgdal1i libgeos-dev libxml2-dev libgdal-dev libproj-dev postgresql-server-dev-9.5 redis-server nodejs gcc-4.9 g++-4.9 libprotobuf-c-dev git postgresql-plpython-9.5 libjson-c-dev + +# Install PostGIS 2.4 from sources +RUN wget http://download.osgeo.org/postgis/source/postgis-2.4.0.tar.gz && tar xvfz postgis-2.4.0.tar.gz && cd postgis-2.4.0 && ./configure && make && make install && cd .. && rm -rf postgis-2.4.0 + +# Configure PostgreSQL +RUN echo "local all all trust" > /etc/postgresql/9.5/main/pg_hba.conf +RUN echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/9.5/main/pg_hba.conf +RUN echo "host all all ::1/128 trust" >> /etc/postgresql/9.5/main/pg_hba.conf +RUN echo "listen_addresses='*'" >> /etc/postgresql/9.5/main/postgresql.conf + +RUN apt-get -y remove wget protobuf-c-compiler +RUN apt-get -y autoremove + +WORKDIR /srv +CMD export NPROCS=1 && export JOBS=1 && export CXX=g++-4.9 && npm install && export PGUSER=postgres && /etc/init.d/postgresql start && createdb template_postgis && createuser publicuser && psql -c "CREATE EXTENSION postgis" template_postgis && npm test diff --git a/package.json b/package.json index 9f0581e4..8ff78dce 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,12 @@ "lint": "jshint lib test", "preinstall": "make pre-install", "test": "make test-all", - "update-internal-deps": "rm -rf node_modules && rm -f yarn.lock && yarn" + "update-internal-deps": "rm -rf node_modules && rm -f yarn.lock && yarn", + "docker-install": "sudo apt install docker.io && sudo usermod -aG docker $(whoami)", + "docker-pull": "docker pull cartoimages/windshaft-carto-testing", + "docker-test": "docker run -v `pwd`:/srv cartoimages/windshaft-carto-testing", + "docker-build": "docker build -t cartoimages/windshaft-carto-testing .", + "docker-publish": "docker push cartoimages/windshaft-carto-testing" }, "engines": { "node": ">=6.9", diff --git a/run_tests.sh b/run_tests.sh index 92e8621b..d1c63614 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -137,7 +137,7 @@ if test x"$OPT_COVERAGE" = xyes; then ./node_modules/.bin/istanbul cover node_modules/.bin/_mocha -- -u tdd -t 5000 ${TESTS} else echo "Running tests" - mocha -u tdd -t 5000 ${TESTS} + ./node_modules/.bin/_mocha -c -u tdd -t 5000 ${TESTS} fi ret=$?