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