image: python:3.10

stages:
  - dependencies
  - lint

download_dependencies:
  stage: dependencies
  before_script:
    - python -m venv .venv
    - source .venv/bin/activate
  script:
    - pip install -r requirements.txt
  artifacts:
    paths:
      - .venv

pylint:
  stage: lint
  dependencies:
    - download_dependencies
  needs:
    - download_dependencies
  before_script:
    - source .venv/bin/activate
    - pip install pylint
  script:
    - pylint calculator --fail-on=error
