# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: lb584/ews_coordinator: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"
  PACKAGES_DIR: "$CI_PROJECT_DIR/packages/"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#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:
  - python3 -V  # Print out python version for debugging
#  - apt-get install --assume-yes git
  - pip install coverage
  - echo $PACKAGES_DIR
  - mkdir $PACKAGES_DIR
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews-source-generation.git" $PACKAGES_DIR/source_gen
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews_plotting.git" $PACKAGES_DIR/plotting
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/flagdir.git" $PACKAGES_DIR/flagdir
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews-epimodel.git" $PACKAGES_DIR/epimodel
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews-advisory-builder.git" $PACKAGES_DIR/advisory_builder
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews_environmental_suitability_v2.git" $PACKAGES_DIR/environmental_suitability
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews-postprocessing.git" $PACKAGES_DIR/post_processing
  - git clone "https://nouser:$GROUP_WHEAT_ACCESS_VAR@gitlab.developers.cam.ac.uk/gilligan-epid/wheat-rusts/ews_met_data_extraction.git" $PACKAGES_DIR/met_extractor_v2
  - ls $PACKAGES_DIR
  - source /storage/app/miniconda3/bin/activate /storage/app/EWS_prod/envs/conda/py3EWS/
  - pwd
  - flagdir=$PACKAGES_DIR/flagdir
  - epimodel=$PACKAGES_DIR/epimodel
  - advisory=$PACKAGES_DIR/advisory_builder
  - met_processing=$PACKAGES_DIR/met_extractor_v2/met_data_extraction
  - met_processor=$PACKAGES_DIR/environmental_suitability/environmental_suitability
  - plotting=$PACKAGES_DIR/plotting/plotting
  - post_processing=$PACKAGES_DIR/post_processing/ews_postprocessing
  - source_gen=$PACKAGES_DIR/source_gen
  - coordinator=$CI_PROJECT_DIR/coordinator
  - coordinator_tests=$CI_PROJECT_DIR/tests
  - export PYTHONPATH=$PYTHONPATH:$flagdir:$epimodel:$advisory:$met_processing:$met_processor:$plotting:$source_gen:$post_processing:$coordinator:$coordinator_tests

  - echo $PYTHONPATH
#  - python3 -m unittest tests/unit/coordinator/example_test.py
  - cd $CI_PROJECT_DIR/tests/integration
  - ls ../

test:
  script:
#    - python3 -m coverage run -m unittest test_deposition.py
    - python3 -m unittest test_deposition.py
#    - python3 -m unittest test_env_suit.py
#    - python3 -m unittest test_survey.py
#    - python3 -m unittest test_advisory.py
    - python coverage report
    - python coverage html
  artifacts:
    paths:
      - coverage
    expire_in: 30 days

