Commit ca89f929 by Clinton Blackburn

Updated Travis build

The run_tests.sh script is replaced with individual steps in the Travis configuration file. This allows us to better measure the execution time of individual steps of the build, and actually fail the build when individual steps fail.

Additionally, the apt packages that were once installed by run_tests.sh are now installed in the Docker image by default.
parent ec5761ed
language: python
python:
- "2.7"
- "2.7"
sudo: required
services:
......@@ -13,21 +13,25 @@ cache:
- ecommerce/static/bower_components
addons:
firefox: latest
apt:
packages:
- lcov
apt:
packages:
- lcov
before_install:
- docker-compose -f ./.travis/docker-compose-travis.yml up -d
- docker-compose -f ./.travis/docker-compose-travis.yml up -d
# Prevent Travis CI from installing requirments.txt. The requirements will be installed by the script below.
install: true
install:
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && make requirements'
script:
- docker exec ecommerce_testing /edx/app/ecommerce/ecommerce/.travis/run_tests.sh
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/docs && make html'
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && DJANGO_SETTINGS_MODULE=ecommerce.settings.test make validate_translations'
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && DJANGO_SETTINGS_MODULE=ecommerce.settings.test make clean_static'
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && DJANGO_SETTINGS_MODULE=ecommerce.settings.test make static'
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && DJANGO_SETTINGS_MODULE=ecommerce.settings.test TRAVIS=1 xvfb-run make validate_python'
- docker exec -t ecommerce_testing bash -c 'source /edx/app/ecommerce/ecommerce_env && cd /edx/app/ecommerce/ecommerce/ && DJANGO_SETTINGS_MODULE=ecommerce.settings.test xvfb-run make validate_js'
after_success:
- pip install -U codecov
- docker exec ecommerce_testing /edx/app/ecommerce/ecommerce/.travis/run_coverage.sh
- codecov
- pip install -U codecov
- docker exec ecommerce_testing /edx/app/ecommerce/ecommerce/.travis/run_coverage.sh
- codecov
#!/bin/bash -xe
. /edx/app/ecommerce/venvs/ecommerce/bin/activate
. /edx/app/ecommerce/nodeenvs/ecommerce/bin/activate
apt update
apt install -y xvfb firefox gettext
cd /edx/app/ecommerce/ecommerce
# Make it so bower can run without sudo.
# https://github.com/GeoNode/geonode/pull/1070
echo '{ "allow_root": true }' > /root/.bowerrc
make requirements
# Ensure documentation can be compiled
cd docs && make html
cd ..
export DJANGO_SETTINGS_MODULE=ecommerce.settings.test
# Check if translation files are up-to-date
make validate_translations
# Compile assets and run validation
make clean_static
make static
TRAVIS=true xvfb-run make validate_python
xvfb-run make validate_js
......@@ -32,7 +32,8 @@ help:
requirements.js:
npm install
$(NODE_BIN)/bower install
# Allow root for Docker
$(NODE_BIN)/bower install --allow-root
requirements: requirements.js
pip install -r requirements/local.txt --exists-action w
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment