Skip to content
This repository has been archived by the owner on Aug 26, 2022. It is now read-only.

Commit

Permalink
[Bug 1218563] Run test in Docker environment with Travis CI
Browse files Browse the repository at this point in the history
  • Loading branch information
safwanrahman committed Sep 28, 2016
1 parent d0a5eba commit 681a1d1
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 3 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ language: python
python:
- "2.7"
services:
- docker
- memcached
- elasticsearch
env:
matrix:
- TOXENV=py27
- TOXENV=flake8
- TOXENV=docs
- TOXENV=dennis
- TOXENV=docker DOCKER_COMPOSE_VERSION=1.8.0
global:
- DJANGO_SETTINGS_MODULE=kuma.settings.travis
- DEBIAN_FRONTEND=noninteractive
Expand All @@ -26,6 +27,7 @@ env:
matrix:
allow_failures:
- env: TOXENV=dennis
- env: TOXENV=docker DOCKER_COMPOSE_VERSION=1.8.0
before_install:
- scripts/travis-install
- pip install -U pip
Expand Down
10 changes: 10 additions & 0 deletions scripts/docker-compose.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
worker: &worker
build: .
dockerfile: Dockerfile-base
environment:
- DJANGO_SETTINGS_MODULE
- DEBIAN_FRONTEND
- CFLAGS

web:
<<: *worker
14 changes: 13 additions & 1 deletion scripts/travis-install
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,22 @@ then
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo truncate -s 0 /var/log/mysql/error.log

# Install Elasticsearch
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.deb
sudo dpkg -i elasticsearch-1.7.2.deb

# limit elasticsearch / java memory usage to avoid OOM Killer
sudo service elasticsearch stop;
echo "ES_HEAP_SIZE=256m" | sudo tee --append /etc/default/elasticsearch
sudo service elasticsearch start;
fi

if [ "$TOXENV" == "docker" ]
then
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
chmod +x docker-compose
sudo mv docker-compose /usr/local/bin
docker-compose -f docker-compose.yml -f scripts/docker-compose.travis.yml pull
docker-compose -f docker-compose.yml -f scripts/docker-compose.travis.yml build
fi
11 changes: 10 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py27, flake8, docs, dennis
envlist = py27, flake8, docs, dennis, docker
skipsdist = True

[testenv:py27]
Expand Down Expand Up @@ -31,6 +31,15 @@ basepython = python2.7
deps = https://github.com/willkg/dennis/archive/aca57f6d.zip
commands = dennis-cmd lint --errorsonly locale/

[testenv:docker]
commands =
docker-compose -f docker-compose.yml -f scripts/docker-compose.travis.yml up -d
docker exec -it kuma_web_1 ./manage.py update_product_details -f
docker restart kuma_web_1
docker exec -it kuma_web_1 ./manage.py migrate
docker exec -i kuma_web_1 make compilejsi18n collectstatic
docker exec -i kuma_web_1 make test

[flake8]
exclude = **/migrations/**,.tox,*.egg,vendor
# E501 - line too long (82 > 79 characters)
Expand Down

0 comments on commit 681a1d1

Please sign in to comment.