p5.js-web-editor/.travis.yml

54 lines
1.6 KiB
YAML

sudo: required
language: node_js
node_js:
- "8.11.1"
python:
- "3.4"
- "pypy-5.3.1"
services:
- docker
before_install:
# eventually set up AWS stuff here
- docker-compose -f docker-compose-development.yml up -d
- docker ps -a
install: true
script:
# Run unit tests in the app container
- docker-compose exec -T app npm run test --verbose
after_success:
# only run this if on the master branch eventually, not while testing tho
- sudo apt-get install -y python3.4
- sudo apt-get install --upgrade -y python-pip
- sudo apt-get install jq
- sudo pip install --user virtualenv
# Create a virtual environment for AWS CLI
- virtualenv my_py3 --python=/usr/bin/python3.4
- source my_py3/bin/activate
- pip install --upgrade awscli
- pip install --upgrade awsebcli
# Set AWS information
- aws configure set aws_access_key_id $AWS_ACCESS_KEY
- aws configure set aws_secret_access_key $AWS_SECRET_KEY
- aws configure set default.region $AWS_REGION
- aws configure set metadata_service_timeout 1200
- aws configure set metadata_service_num_attempts 3
- aws configure list
# build images
- docker-compose stop
- docker-compose build --no-cache
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
- docker image ls
- docker tag $APP_IMAGE_NAME $DOCKER_USERNAME/$DOCKER_REPOSITORY:app_$TRAVIS_BUILD_ID
- docker tag $NGINX_IMAGE_NAME $DOCKER_USERNAME/$DOCKER_REPOSITORY:nginx_$TRAVIS_BUILD_ID
- docker push $DOCKER_USERNAME/$DOCKER_REPOSITORY:app_$TRAVIS_BUILD_ID
- docker push $DOCKER_USERNAME/$DOCKER_REPOSITORY:nginx_$TRAVIS_BUILD_ID
env:
global:
- APP_IMAGE_NAME=p5jswebeditor_app
- NGINX_IMAGE_NAME=p5jswebeditor_nginx