Seenu S
Seenu S

Reputation: 3481

How to run the flake8 in circle.yml

I am getting the following error when building circle ci server.

bash: line 1: flake8: command not found flake8 app/ returned exit code 127

Upvotes: 4

Views: 3804

Answers (2)

Moeen M
Moeen M

Reputation: 1402

you can add flake8 in your requirements.txt and add flake8 command as one of the steps in your circleci config. for the start you can use the circleci boilerplate code, so the end result will be something like this.

# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      # use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
      - image: circleci/python:3.5.3

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/postgres:9.4
    working_directory: ~/repo
    steps:
      - checkout
      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "requirements.txt" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-
      - run:
          name: install dependencies
          command: |
            python3 -m venv venv
            . venv/bin/activate
            pip install -r requirements.txt
      - save_cache:
          paths:
            - ./venv
          key: v1-dependencies-{{ checksum "requirements.txt" }}

      # run tests!
      - run:
          name: run linting and metrics
          command: |
            . venv/bin/activate
            flake8 ./ tests --output-file test-reports
      - store_artifacts:
          path: test-reports
          destination: test-reports

Upvotes: 4

lightstrike
lightstrike

Reputation: 399

  1. Make sure flake8 is included in a requirements.txt file.
  2. Include the following in your circle.yml file:

    test:
      override:
        - flake8 ./
    

You can configure this flake8 command however you like, such as flake8 ./ --max-line-length=100.

Upvotes: 1

Related Questions