diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..8697a101 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,21 @@ +version: 2 +jobs: + build: + docker: + - image: circleci/python:3.6 + steps: + - checkout + - setup_remote_docker: + docker_layer_caching: true + - run: + name: Setup + command: | + echo "export DOCKER_IMAGE_TAG=mozmeao/nucleus:${CIRCLE_SHA1}" >> $BASH_ENV + - run: + name: Build Image + command: | + docker build -t "$DOCKER_IMAGE_TAG" --pull=true . + - run: + name: Run Tests + command: | + docker run --env-file docker/envfiles/test.env "$DOCKER_IMAGE_TAG" bin/run-tests.sh diff --git a/bin/run-tests.sh b/bin/run-tests.sh index 57cd2968..b4834a66 100755 --- a/bin/run-tests.sh +++ b/bin/run-tests.sh @@ -1,5 +1,5 @@ #!/bin/bash -ex -urlwait +flake8 nucleus bin/post-deploy.sh python manage.py test diff --git a/circle.yml b/circle.yml deleted file mode 100644 index cf74c0d2..00000000 --- a/circle.yml +++ /dev/null @@ -1,38 +0,0 @@ -machine: - services: - - docker - environment: - # Docker - DOCKER_REPOSITORY: mozmeao/nucleus - DOCKER_IMAGE_TAG: "${DOCKER_REPOSITORY}:${CIRCLE_SHA1}" - # MySQL - POSTGRES_USER: nucleus - POSTGRES_PASSWORD: nucleuspass - # Django - SECRET_KEY: ssssssssshhhhhhhhhhhhh - DEBUG: False - SESSION_COOKIE_SECURE: False - DISABLE_SSL: True - ALLOWED_HOSTS: "*" - DATABASE_URL: "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_USER}" - -dependencies: - cache_directories: - - "~/docker" - override: - - docker --version - - docker info - - if [[ -e ~/docker/image.tar ]]; then docker load --input ~/docker/image.tar; fi - - echo "ENV GIT_SHA ${CIRCLE_SHA1}" >> Dockerfile - - docker build -t "$DOCKER_IMAGE_TAG" --pull=true . - - docker pull postgres:9.4 - - mkdir -p ~/docker; docker save -o ~/docker/image.tar "$DOCKER_REPOSITORY" postgres:9.4 - -test: - pre: - - env > .env - - mkdir -p "$CIRCLE_TEST_REPORTS/django" - override: - - docker run -d --name db -e POSTGRES_USER -e POSTGRES_PASSWORD postgres:9.4 - - docker run "$DOCKER_IMAGE_TAG" flake8 nucleus - - docker run --env-file .env --link db -v "$CIRCLE_TEST_REPORTS/django:/app/test-results" "$DOCKER_IMAGE_TAG" bin/run-tests.sh