stages: - 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 # Install necessary apps like git and mesa-utils (needed for GL): # TODO: Check if this is still needed after removing mayavi!? - apt-get update - apt-get install -y curl bzip2 git mesa-utils test_miniconda: stage: test image: continuumio/miniconda3 script: # 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 # Create coverage report: - coverage html artifacts: paths: - htmlcov/ test_conda_ubuntu: stage: test image: ubuntu:16.04 script: # 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_pip_minimal: stage: test image: python:3.5 script: # TODO: Different jobs with custom develop arguments? extra_requires (hyperspy, plotting)? # TODO: Use pip install -e .[hyperspy], etc. # Install requirements: - pip install -e .['tests'] # TODO: other case with ['all']? After getting rid of mayavi... # 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 image: python:3.5 script: # Install requirements: - pip install -r requirements.txt # TODO: mayavi/pyfftw commented out by hand to make work! # Install jutil via secure ssh connection: - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git # Execute tests: - python setup.py test # TODO: What about windows? Better have one test (miniconda?) for windows/max/linux, each!