From 18337c1bd29aebe7bb17a986798f34d680f5bf86 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:20:32 -0400 Subject: [PATCH 1/9] Add circle ci config --- .circleci/config.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..4f9d3cae --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,43 @@ +version: 2.1 + +jobs: + verify_build: + working_directory: ~/repo + docker: + - image: circleci/python:<< parameters.python >> + parameters: + python: + type: string + steps: + - checkout + - restore_cache: + keys: + - v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies-<< parameters.python >>-- + + - run: pip install -r requirements.txt + - run: pip install -r requirements-dev.txt + - run: nose2 -v + - run: flake8 + + - save_cache: + paths: + - /usr/local/lib/python<>/site-packages + key: v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} + +workflows: + python-v2.7: + jobs: + - verify_build: + python: "2.7" + + python-v3.6: + jobs: + - verify_build: + python: "3.6" + + python-v3.7: + jobs: + - verify_build: + python: "3.7" From f0b7b6903136248facc9426275176d8533253595 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:24:11 -0400 Subject: [PATCH 2/9] Use venv for caching dependencies --- .circleci/config.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f9d3cae..01a216ab 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,15 +15,27 @@ jobs: - v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} # fallback to using the latest cache if no exact match is found - v1-dependencies-<< parameters.python >>-- - - - run: pip install -r requirements.txt - - run: pip install -r requirements-dev.txt - - run: nose2 -v - - run: flake8 + - run: + name: Install Dependencies + command: | + python3 -m venv venv + . venv/bin/activate + pip install -r requirements.txt + pip install -r requirements-dev.txt + - run: + name: Run Unit Tests + command: | + . venv/bin/activate + nose2 -v + - run: + name: Run Unit Tests + command: | + . venv/bin/activate + flake8 - save_cache: paths: - - /usr/local/lib/python<>/site-packages + - ./venv key: v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} workflows: From e9b7d33403daade02c0567343d38150d184d61e3 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:27:00 -0400 Subject: [PATCH 3/9] Fix validation errors --- .circleci/config.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 01a216ab..71d80314 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,22 +16,22 @@ jobs: # fallback to using the latest cache if no exact match is found - v1-dependencies-<< parameters.python >>-- - run: - name: Install Dependencies - command: | - python3 -m venv venv - . venv/bin/activate - pip install -r requirements.txt - pip install -r requirements-dev.txt + name: Install Dependencies + command: | + python3 -m venv venv + . venv/bin/activate + pip install -r requirements.txt + pip install -r requirements-dev.txt - run: - name: Run Unit Tests - command: | - . venv/bin/activate - nose2 -v + name: Run Unit Tests + command: | + . venv/bin/activate + nose2 -v - run: - name: Run Unit Tests - command: | - . venv/bin/activate - flake8 + name: Run Unit Tests + command: | + . venv/bin/activate + flake8 - save_cache: paths: From da49b41a20b2a7c340067034f5c85036d1ec9098 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:28:45 -0400 Subject: [PATCH 4/9] Remove explicit python3 reference --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 71d80314..ff90c23b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ jobs: - run: name: Install Dependencies command: | - python3 -m venv venv + python -m venv venv . venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt From de70b9b21bf6eabd8d917eccfe9815a3678cf8e0 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:41:05 -0400 Subject: [PATCH 5/9] Swap to virtual env --- .circleci/config.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ff90c23b..0f73a485 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,20 +18,21 @@ jobs: - run: name: Install Dependencies command: | - python -m venv venv - . venv/bin/activate + pip install virtualenv + virtualenv env + venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt - run: name: Run Unit Tests command: | - . venv/bin/activate + venv/bin/activate nose2 -v - run: - name: Run Unit Tests + name: Lint command: | - . venv/bin/activate - flake8 + venv/bin/activate + flake8 datadog_lambda/ - save_cache: paths: From ec0f8a541837764c4e990737e499d04a8163f785 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:42:01 -0400 Subject: [PATCH 6/9] Activate venv correctly --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0f73a485..cbfbfbef 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,18 +20,18 @@ jobs: command: | pip install virtualenv virtualenv env - venv/bin/activate + ./venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt - run: name: Run Unit Tests command: | - venv/bin/activate + ./venv/bin/activate nose2 -v - run: name: Lint command: | - venv/bin/activate + ./venv/bin/activate flake8 datadog_lambda/ - save_cache: From 7676ffb7012593577714760bbd621c5bddf16025 Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:43:06 -0400 Subject: [PATCH 7/9] Name virtualenv venv --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cbfbfbef..a14a4e1d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: name: Install Dependencies command: | pip install virtualenv - virtualenv env + virtualenv venv ./venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt From 0a6dfaeeffa8ca6a4cb52d7aaa100a2a121c577a Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 14:45:35 -0400 Subject: [PATCH 8/9] Activate virtualenv correctly --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a14a4e1d..41a2fd82 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,18 +20,18 @@ jobs: command: | pip install virtualenv virtualenv venv - ./venv/bin/activate + source venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt - run: name: Run Unit Tests command: | - ./venv/bin/activate + source venv/bin/activate nose2 -v - run: name: Lint command: | - ./venv/bin/activate + source venv/bin/activate flake8 datadog_lambda/ - save_cache: From a8ad8166f3e14aafa7a9e5854b707b56ad3d7b6b Mon Sep 17 00:00:00 2001 From: "darcy.rayner" Date: Fri, 26 Jul 2019 15:02:31 -0400 Subject: [PATCH 9/9] Update build script --- .circleci/config.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 41a2fd82..415b732e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: - checkout - restore_cache: keys: - - v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} + - v1-dependencies-<< parameters.python >>-{{ checksum "setup.py" }} # fallback to using the latest cache if no exact match is found - v1-dependencies-<< parameters.python >>-- - run: @@ -21,8 +21,7 @@ jobs: pip install virtualenv virtualenv venv source venv/bin/activate - pip install -r requirements.txt - pip install -r requirements-dev.txt + pip install .[dev] - run: name: Run Unit Tests command: | @@ -37,7 +36,7 @@ jobs: - save_cache: paths: - ./venv - key: v1-dependencies-<< parameters.python >>-{{ checksum "requirements.txt" }}-{{ checksum "requirements-dev.txt" }} + key: v1-dependencies-<< parameters.python >>-{{ checksum "setup.py" }} workflows: python-v2.7: