image: "python:3.5"

before_script:
  # Check and print Python version
  - python --version
  # Create SSH configuration directory if necessary (also parents with -p, mode: read/write/exec):
  - mkdir -p --mode=700 ~/.ssh/
  # Add SSH key for jutil:
  - echo "ID_RSA_JUTIL" > ~/.ssh/id_rsa_jutil
  # Provide read access to owner (octal value code: 400) to the key with chmod:
  - chmod 400 ~/.ssh/id_rsa_jutil
  # Configure SSH to use ~/.ssh/jutil_key for iffgit.fz-juelich.de (-e allows \n):
  - echo -e "Host iffgit.fz-juelich.de\n\tIdentityFile ~/.ssh/id_rsa_jutil\n" > ~/.ssh/config

  #- cat ~/.ssh/config

  #- ssh-keyscan -H 'iffgit.fz-juelich.de'
  #- echo $(<ssh-keyscan -H 'iffgit.fz-juelich.de') >> ~/.ssh/known_hosts
  #- cat ~/.ssh/known_hosts
  # For Docker builds disable host key checking. Be aware that by adding that
  # you are suspectible to man-in-the-middle attacks.
  # WARNING: Use this only with the Docker executor, if you use it with shell
  # you will overwrite your user's SSH config.
  # - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config'
  # >> appends instead of overwriting
  #- echo -e "iffgit.fz-juelich.de $ID_RSA_JUTIL_PUB" >> ~/.ssh/known_hosts
  - echo iffgit.fz-juelich.de,134.94.161.83 AAAAB3NzaC1yc2EAAAADAQABAAABAQCk0Z9WQVPP3vwqSXa8RZFwGNrtwaJsE1cHmfUlrF0Fug1a1MBQI9q/ZgHOjE82Wu/lwO8VGnedk3Q//onw3JCpjL9I0Vmkcw0UBX3Cd7yM5RqIP87Ji44UPREQItWkWKOxKFYPXMLXon3Ef+R4oMegcTft/2Iq4lKugnPtdeFzJIF2ig1Uro3Vw6HM4bAr0+iOLuXL1LlM4JFNFcA/QwsvBbKsx25fpFUgyeIrUPNcra/m0vpW8ZrW/jiTK2HmQrjDcs/De2jCdGW6bsK6kd3Ks164tijwz4cOD/3JKjjzVChBBQe6bZVbAQVl5odO5wMS5A9wSe2Y8c4TmsAhobYj > ~/.ssh/known_hosts
  - cat ~/.ssh/known_hosts
  # Install jutil via secure ssh connection:
  - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git

stages:
  - test

test:
  stage: test
  script:
    # TODO: Different jobs with custom develop arguments? extra_requires (hyperspy, plotting)?
    # TODO: Use pip install -e .[hyperspy], etc.
    # Install requirements (-e: editable, like python setup.py develop, but pip, not easy_install):
    - pip install -e .  # TODO: belongs here or before_script?
    - python setup.py test
