Skip to content
Snippets Groups Projects
.gitlab-ci.yml 5.28 KiB
Newer Older
#image: "continuumio/miniconda3"
#
#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_PRIVATE" > ~/.ssh/id_rsa_jutil
#  # Provide read access to owner (octal value code: 400) to jutil key and known_hosts 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
#  # Add iffgit.fz-juelich.de to known_hosts (not the same key as Jutil!):
#  - echo iffgit.fz-juelich.de,134.94.161.83 "$ID_RSA_IFFGIT_PUBLIC" > ~/.ssh/known_hosts
#  # Provide read access to owner (octal value code: 400) to known_hosts with chmod:
#  - chmod 400 ~/.ssh/known_hosts
#
#stages:
#  - test
#
#test_pip_minimal:
#  stage: test
#  script:
#    # TODO: Different jobs with custom develop arguments? extra_requires (hyperspy, plotting)?
#    # TODO: Use pip install -e .[hyperspy], etc.
#    # Install requirements:
##    # - pip install -r requirements.txt  # TODO: DOES NOT WORK (because mayavi and stuff...)
#    - pip install -e .['tests']
#    # Install jutil via secure ssh connection:
#    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
#    # Execute tests:
#    - python setup.py test
#    # Create coverage report:
#    - coverage html
#  artifacts:
#    paths:
#      - htmlcov/
#
#test_pip_full:
#  stage: test
#  script:
#    # Install requirements:
#    - pip install -e .['all']
#    # Install jutil via secure ssh connection:
#    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
#    # Execute tests:
#    - python setup.py test
#
#test_pip_requirements:
#  stage: test
#  script:
#    - pip install numpy  # Needed for mayavi...
#    # Install requirements:
#    - pip install -r requirements.txt  # TODO: DOES NOT WORK (because mayavi and stuff...)
#    # Install jutil via secure ssh connection:
#    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
#    # Execute tests:
#    - python setup.py test
#
#test_conda:
#  stage: test
#  script:
#    # Install requirements:
#    - conda info --envs
#    - conda env create -q  # -q: quiet/ no progressbar, because it spams the log!
#    - source activate pyramid
#    - conda info --envs
#    # Install jutil via secure ssh connection:
#    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
#    # Execute tests:
#    - python setup.py test
#
before_script:
    # 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_PRIVATE" > ~/.ssh/id_rsa_jutil
    # Provide read access to owner (octal value code: 400) to jutil key and known_hosts 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
    # Add iffgit.fz-juelich.de to known_hosts (not the same key as Jutil!):
    - echo iffgit.fz-juelich.de,134.94.161.83 "$ID_RSA_IFFGIT_PUBLIC" > ~/.ssh/known_hosts
    # Provide read access to owner (octal value code: 400) to known_hosts with chmod:
    - chmod 400 ~/.ssh/known_hosts

test_conda_ubuntu:
  stage: test
  image: ubuntu:16.04
  script:
    # Install necessary apps like git and mesa-utils (needed for GL):
    - apt-get update
    - apt-get install -y curl bzip2 git mesa-utils
    # Install miniconda:
    - curl -O -L https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
    - chmod +x Miniconda3-latest-Linux-x86_64.sh
    - ./Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3
    - export PATH="/opt/miniconda3/bin:${PATH}"
    # Install requirements for pyramid:
    - conda info --envs
    - conda env create -q # -q: quiet/ no progressbar, because it spams the log!
    - source activate pyramid
    - conda info --envs
    - conda uninstall mayavi vtk -y  # TODO: necessary, because mayavi does not play nice with qt5!
    - conda install pyqt=5  # TODO: This is needed for tests to run, but breaks mayavi (not used)!
    # Install jutil via secure ssh connection:
    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
    # Execute tests:
    - python setup.py test

test_miniconda:
  image: continuumio/miniconda3
    # Install necessary apps like git and mesa-utils (needed for GL):
    - apt-get update
    - apt-get install -y curl bzip2 git mesa-utils
    # Install requirements for pyramid:
    - conda env create -q # -q: quiet/ no progressbar, because it spams the log!
    - source activate pyramid
    - conda info --envs
    - conda uninstall mayavi vtk -y  # TODO: necessary, because mayavi does not play nice with qt5!
    - conda install pyqt=5  # TODO: This is needed for tests to run, but breaks mayavi (not used)!
    # Install jutil via secure ssh connection:
    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
    # Execute tests:
    - python setup.py test

test_basic:
  stage: test
  image: python:3.5
  script:
    - python --version