From e1c9f5f6533bca27c8de347f50c553939cec1d29 Mon Sep 17 00:00:00 2001 From: jason Date: Tue, 17 Jul 2018 16:06:27 -0600 Subject: Upgrade to circleci 2.0 --- circle.yml | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 88 insertions(+), 17 deletions(-) diff --git a/circle.yml b/circle.yml index d196460..fade121 100644 --- a/circle.yml +++ b/circle.yml @@ -1,17 +1,88 @@ -machine: - post: - - pyenv global 2.7.11 3.5.2 - services: - - redis -dependencies: - override: - - pip install -e .[testing] - - pip install python-coveralls - - pip3.5 install -e .[testing] -test: - override: - - nosetests-2.7 --with-coverage --cover-inclusive --cover-package=eventmq --cover-tests - - /opt/circleci/python/3.5.2/bin/nosetests-3.4 - post: - - find . -name \*.py -print | xargs flake8 --show-source --statistics - - coveralls +version: 2 +jobs: + build: + working_directory: ~/eventmq/eventmq + parallelism: 1 + shell: /bin/bash --login + # CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did. + # If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables . + environment: + CIRCLE_ARTIFACTS: /tmp/circleci-artifacts + CIRCLE_TEST_REPORTS: /tmp/circleci-test-results + # In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages. + # In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images. + # The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job. + # We have selected a pre-built image that mirrors the build environment we use on + # the 1.0 platform, but we recommend you choose an image more tailored to the needs + # of each job. For more information on choosing an image (or alternatively using a + # VM instead of a container) see https://circleci.com/docs/2.0/executor-types/ + # To see the list of pre-built images that CircleCI provides for most common languages see + # https://circleci.com/docs/2.0/circleci-images/ + docker: + - image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37 + command: /sbin/init + steps: + # Machine Setup + # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each + # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out. + - checkout + # Prepare for artifact and test results collection equivalent to how it was done on 1.0. + # In many cases you can simplify this from what is generated here. + # 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/' + - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS + # This is based on your 1.0 configuration file or project settings + - run: + working_directory: ~/eventmq/eventmq + command: 'sudo redis-cli ping >/dev/null 2>&1 || sudo service redis-server + start; ' + # This is based on your 1.0 configuration file or project settings + - run: + working_directory: ~/eventmq/eventmq + command: pyenv global 2.7.11 3.5.2 + # Dependencies + # This would typically go in either a build or a build-and-test job when using workflows + # Restore the dependency cache + - restore_cache: + keys: + # This branch if available + - v1-dep-{{ .Branch }}- + # Default branch if not + - v1-dep-master- + # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly + - v1-dep- + # This is based on your 1.0 configuration file or project settings + - run: pip install -e .[testing] + - run: pip install python-coveralls + - run: pip3.5 install -e .[testing] + # Save dependency cache + - save_cache: + key: v1-dep-{{ .Branch }}-{{ epoch }} + paths: + # This is a broad list of cache paths to include many possible development environments + # You can probably delete some of these entries + - vendor/bundle + - ~/virtualenvs + - ~/.m2 + - ~/.ivy2 + - ~/.bundle + - ~/.go_workspace + - ~/.gradle + - ~/.cache/bower + # Test + # This would typically be a build job when using workflows, possibly combined with build + # This is based on your 1.0 configuration file or project settings + - run: nosetests-2.7 --with-coverage --cover-inclusive --cover-package=eventmq --cover-tests + - run: /opt/circleci/python/3.5.2/bin/nosetests-3.4 + # This is based on your 1.0 configuration file or project settings + - run: find . -name \*.py -print | xargs flake8 --show-source --statistics + - run: coveralls + # Teardown + # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each + # Save test results + - store_test_results: + path: /tmp/circleci-test-results + # Save artifacts + - store_artifacts: + path: /tmp/circleci-artifacts + - store_artifacts: + path: /tmp/circleci-test-results \ No newline at end of file -- cgit v1.2.1