From 5bde54dac652bb792114d207ed0851582f5b9b02 Mon Sep 17 00:00:00 2001 From: Gabe Abud Date: Wed, 27 May 2020 07:18:56 -0700 Subject: [PATCH 1/5] add docker layer caching --- .circleci/config.yml | 13 ++++++++++++- scripts/build.sh | 13 +++++++++++++ scripts/test.sh | 14 -------------- 3 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 scripts/build.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index ed9a052f..c9fe03c3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,13 +13,24 @@ jobs: image: ubuntu-1604:201903-01 steps: - checkout + - restore_cache: + keys: + - deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/backend/requirements.txt" }} + - deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/frontend/package.json" }} - run: command: sudo pip install cookiecutter + - run: + command: ./scripts/build.sh + name: build + - save_cache: + key: docker-cache-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/backend/requirements.txt" }} + paths: + - /home/circleci/.local/bin/ - run: command: ./scripts/test.sh name: Test environment: - CIRCLE_CI_ENV: true + CIRCLE_CI_ENV: true workflows: main: diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100644 index 00000000..a1c60bfa --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,13 @@ +# Exit in case of error +set -e + +# Run this from the root of the project +cookiecutter --no-input -f ./ project_slug="testing-project" + +cd testing-project + +docker-compose build +docker-compose down -v --remove-orphans +docker-compose up -d +# Run migrations first +docker-compose run --rm backend alembic upgrade head \ No newline at end of file diff --git a/scripts/test.sh b/scripts/test.sh index 7656db41..ebada420 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -1,19 +1,5 @@ #! /usr/bin/env bash -# Exit in case of error -set -e - -# Run this from the root of the project -cookiecutter --no-input -f ./ project_slug="testing-project" - -cd testing-project - -docker-compose build -docker-compose down -v --remove-orphans -docker-compose up -d -# Run migrations first -docker-compose run --rm backend alembic upgrade head - # Backend/frontend tests ./scripts/test.sh From fb5959547cce66b39a65c6306e130d455b273598 Mon Sep 17 00:00:00 2001 From: Gabe Abud Date: Wed, 27 May 2020 07:51:15 -0700 Subject: [PATCH 2/5] make scripts/build.sh executable --- scripts/build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/build.sh diff --git a/scripts/build.sh b/scripts/build.sh old mode 100644 new mode 100755 From 8eebe9427a784343c658c92ef3f652f0cede6e83 Mon Sep 17 00:00:00 2001 From: Gabe Abud Date: Wed, 27 May 2020 07:57:26 -0700 Subject: [PATCH 3/5] add test directory to test script --- scripts/test.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/test.sh b/scripts/test.sh index ebada420..4ed9a9e3 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -1,5 +1,12 @@ #! /usr/bin/env bash +#!/bin/bash + +set -e + +# Created by build.sh +cd testing_project + # Backend/frontend tests ./scripts/test.sh From 97666c9dc8c48d8afb97d815662dcf6e51d53ef4 Mon Sep 17 00:00:00 2001 From: Gabe Abud Date: Wed, 27 May 2020 08:00:11 -0700 Subject: [PATCH 4/5] fix saving cache key --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c9fe03c3..6eb75069 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,13 +17,14 @@ jobs: keys: - deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/backend/requirements.txt" }} - deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/frontend/package.json" }} + - deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/docker-compose.yml" }} - run: command: sudo pip install cookiecutter - run: command: ./scripts/build.sh name: build - save_cache: - key: docker-cache-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/backend/requirements.txt" }} + key: deps1-{{ .Branch }}-{{ checksum "{{cookiecutter.project_slug}}/backend/requirements.txt" }} paths: - /home/circleci/.local/bin/ - run: From 95f331a08f013c015eb03d8806ec3ce31e7b3217 Mon Sep 17 00:00:00 2001 From: Gabe Abud Date: Wed, 27 May 2020 08:12:28 -0700 Subject: [PATCH 5/5] change directory of test script --- scripts/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test.sh b/scripts/test.sh index 4ed9a9e3..608afd64 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -5,7 +5,7 @@ set -e # Created by build.sh -cd testing_project +cd project/testing_project # Backend/frontend tests ./scripts/test.sh