# This file is a template, and might need editing before it works on your project.
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml

# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: python:latest

# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/topics/caching/
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
  paths:
    - .cache/pip
    - venv/

before_script:
  - python --version  # For debugging
  - pip install virtualenv
  - virtualenv venv
  - source venv/bin/activate
  - which python


test:
  tags:
  - env:docker
  script:
    #-  python setup.py test
    - pip install flake8==5.0.4 flake8-nb==0.5.2 # you can also use tox
    - pwd
    - ls -lh
    - flake8 --max-line-length 88 ./functions/*.py
    - flake8-nb --max-line-length 88 ausarbeitung.ipynb


run:
  tags:
  - env:docker
  script:
    #- pip install -r requirements.txt
    - pip install pytest nbmake
    - pytest --nbmake ./
    # Test our notebooks, the included example will also result in errors
    # if plain errors like imports or typos appear
    # Does not replace unit tests

    #- python trial_json.py
    # an alternative approach is to install and run:
    # - pip install dist/*
    # run the command here
#  artifacts:
#    paths:
#      - dist/*.whl

#pages:
#  tags:
#  - env:docker
#  script:
#    - pip install sphinx sphinx-rtd-theme
#    - cd doc
#    - make html
#    - mv build/html/ ../public/
#  artifacts:
#    paths:
#      - public
#  rules:
#    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
