Forked from
empyre / empyre
194 commits behind the upstream repository.
.gitlab-ci.yml 3.57 KiB
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: