# This references the default Python container from # the Docker Hub with the 2.7 tag: # https://registry.hub.docker.com/_/python/ # If you want to use a slim Python container with # version 3.4.3 you would use: python:3.4-slim # If you want Google's container you would reference google/python # Read more about containers on our dev center # http://devcenter.wercker.com/docs/containers/index.html box: heroku/python # You can also use services such as databases. Read more on our dev center: # http://devcenter.wercker.com/docs/services/index.html services: - id: postgres env: POSTGRES_PASSWORD: pyrigstesting POSTGRES_USER: pyrigs # http://devcenter.wercker.com/docs/services/postgresql.html # - mongodb # http://devcenter.wercker.com/docs/services/mongodb.html # This is the build pipeline. Pipelines are the core of wercker # Read more about pipelines on our dev center # http://devcenter.wercker.com/docs/pipelines/index.html build: # The steps that will be executed on build # Steps make up the actions in your pipeline # Read more about steps on our dev center: # http://devcenter.wercker.com/docs/steps/index.html steps: - script: name: install firefox and other things code: | sudo apt-get update sudo apt-get -y install firefox xvfb - script: name: Enable virtual display code: |- # Start xvfb which gives the context an virtual display # which is required for tests that require an GUI export DISPLAY=:99.0 start-stop-daemon --start --quiet --pidfile /tmp/xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset # Give xvfb time to start. 3 seconds is the default for all xvfb-run commands. # sleep 3 # A step that sets up the python virtual environment # - virtualenv: # name: setup virtual environment # install_wheel: false # Enable wheel to speed up builds (experimental) # # Use this virtualenv step for python 3.2 # - virtualenv # name: setup virtual environment # python_location: /usr/bin/python3.2 # # This pip-install clears the local wheel cache # - pip-install: # clean_wheel_dir: true # A custom script step, name value is used in the UI # and the code value contains the command that get executed - script: name: echo python information code: | echo "python version $(python --version) running" echo "pip version $(pip --version) running" # Django uses this to connect to the database - script: name: set postgres settings code: | export DATABASE_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_PORT_5432_TCP_ADDR:$POSTGRES_PORT_5432_TCP_PORT$POSTGRES_NAME" # A step that executes `pip install` command. - pip-install # Install coverage - script: name: install coverage code: | pip install coverage # Run python tests - script: name: run tests with coverage code: | coverage run manage.py test RIGS