version: 2 filters: branches: only: master jobs: build: working_directory: ~/rocky/python-uncompyle6 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 COMPILE: --compile # 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/python:3.8 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: ~/rocky/python-uncompyle6 command: pip install --user virtualenv && pip install --user nose && pip install --user pep8 # 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: - v2-dependencies-{{ .Branch }}- # fallback to using the latest cache if no exact match is found - v2-dependencies- - run: command: | # Use pip to install dependengcies sudo pip install --user --upgrade setuptools pip install --user -e . # Not sure why "pip install -e" doesn't work above # pip install click spark-parser xdis pip install --user -r requirements-dev.txt # Save dependency cache - save_cache: key: v2-dependencies-{{ .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 - ~/.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: sudo pip install -e . && make check-3.6 - run: cd ./test/stdlib && bash ./runtests.sh 'test_[p-z]*.py' # 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 # The resource_class feature allows configuring CPU and RAM resources for each job. Different resource classes are available for different executors. https://circleci.com/docs/2.0/configuration-reference/#resourceclass resource_class: large