Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI images #3642

Merged
merged 10 commits into from
Apr 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 45 additions & 23 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ style:
style_doxygen:
<<: *global_job_definition
stage: prepare
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
dependencies: []
script:
- mkdir build
Expand Down Expand Up @@ -107,7 +107,7 @@ no_rotation:
debian:10:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/debian:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/debian:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export with_cuda=false
- export myconfig=maxset make_check_python=false
Expand All @@ -119,7 +119,7 @@ debian:10:
opensuse:15.1:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/opensuse:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/opensuse:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export with_cuda=false myconfig=maxset make_check_python=false
- bash maintainer/CI/build_cmake.sh
Expand All @@ -130,7 +130,7 @@ opensuse:15.1:
centos:7:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/centos:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/centos:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export with_cuda=false myconfig=maxset make_check_python=true
- bash maintainer/CI/build_cmake.sh
Expand All @@ -141,20 +141,32 @@ centos:7:
fedora:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/fedora:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/fedora:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export with_cuda=false myconfig=maxset make_check_python=false
- bash maintainer/CI/build_cmake.sh
tags:
- docker
- linux

fedora:latest:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/fedora:latest_base
script:
- export with_cuda=false myconfig=maxset make_check_python=false
- bash maintainer/CI/build_cmake.sh
tags:
- docker
- linux
when: manual

### Builds with CUDA

cuda10-maxset:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=maxset with_coverage=false test_timeout=900 srcdir=${CI_PROJECT_DIR}
- export cmake_params="-DIPYTHON_EXECUTABLE=$(which jupyter)"
Expand All @@ -171,7 +183,7 @@ cuda10-maxset:
cuda9-maxset:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-9.0:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-9.0:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=maxset with_coverage=true test_timeout=900 srcdir=${CI_PROJECT_DIR}
- sed -i 's/ or "DISPLAY" in os.environ/ or True/' src/python/espressomd/visualization.pyx
Expand All @@ -189,7 +201,7 @@ cuda9-maxset:
tutorials-samples-maxset:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=maxset with_coverage=false make_check_unit_tests=false make_check_python=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=false test_timeout=1200
Expand All @@ -202,7 +214,7 @@ tutorials-samples-maxset:
tutorials-samples-default:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=default with_coverage=false make_check_unit_tests=false make_check_python=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=false test_timeout=1200
Expand All @@ -217,7 +229,7 @@ tutorials-samples-default:
tutorials-samples-empty:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=empty with_coverage=false make_check_unit_tests=false make_check_python=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=false test_timeout=1200 with_scafacos=false
Expand All @@ -232,7 +244,7 @@ tutorials-samples-empty:
tutorials-samples-no-gpu:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=maxset with_coverage=false make_check_unit_tests=false make_check_python=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=false test_timeout=1200 hide_gpu=true
Expand All @@ -246,7 +258,7 @@ tutorials-samples-no-gpu:
installation:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:a1192b35590a1a474c55fe1e9a1e6c25758454ea
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
script:
- export myconfig=maxset with_coverage=false make_check_unit_tests=false make_check_python=false
- export srcdir=${CI_PROJECT_DIR} test_timeout=1800
Expand Down Expand Up @@ -289,7 +301,7 @@ empty:
ubuntu:wo-dependencies:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:wo-dependencies
image: docker.pkg.github.com/espressomd/docker/ubuntu-wo-dependencies:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export myconfig=maxset make_check_unit_tests=false make_check_python=false
- bash maintainer/CI/build_cmake.sh
Expand All @@ -302,13 +314,24 @@ ubuntu:wo-dependencies:
rocm-maxset:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/rocm-python3:latest
image: docker.pkg.github.com/espressomd/docker/rocm:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export myconfig=maxset
- bash maintainer/CI/build_cmake.sh
tags:
- amdgpu

rocm:latest:
<<: *global_job_definition
stage: build
image: docker.pkg.github.com/espressomd/docker/rocm:latest_base
script:
- export myconfig=maxset
- bash maintainer/CI/build_cmake.sh
tags:
- amdgpu
when: manual

### Builds with OS X

osx:
Expand All @@ -334,7 +357,7 @@ osx-cuda:
clang:6.0:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/clang-python3:6.0
image: docker.pkg.github.com/espressomd/docker/clang:446ff604bbfa63f30ddb462697fa0d0dc2630460
script:
- export myconfig=maxset with_coverage=false with_static_analysis=true with_asan=true with_ubsan=true test_timeout=900
KaiSzuttor marked this conversation as resolved.
Show resolved Hide resolved
- bash maintainer/CI/build_cmake.sh
Expand Down Expand Up @@ -363,7 +386,7 @@ intel:19:
check_sphinx:
<<: *global_job_definition
stage: additional_checks
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-10.1
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
needs:
- cuda10-maxset
when: on_success
Expand All @@ -384,7 +407,7 @@ check_sphinx:
run_tutorials:
<<: *global_job_definition
stage: additional_checks
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-10.1
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
needs:
- cuda10-maxset
when: on_success
Expand All @@ -408,7 +431,7 @@ run_tutorials:
run_doxygen:
<<: *global_job_definition
stage: additional_checks
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-10.1
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-10.1:01cf23487c9eeec758daf425c9947d8089ed9da0
needs:
- cuda10-maxset
when: on_success
Expand All @@ -428,7 +451,7 @@ run_doxygen:
check_cuda_maxset_no_gpu:
<<: *global_job_definition
stage: additional_checks
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-9.0
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-9.0:01cf23487c9eeec758daf425c9947d8089ed9da0
when: on_success
needs:
- cuda9-maxset
Expand All @@ -444,7 +467,7 @@ check_cuda_maxset_no_gpu:
check_with_odd_no_of_processors:
<<: *global_job_definition
stage: additional_checks
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-9.0
image: docker.pkg.github.com/espressomd/docker/ubuntu-cuda-9.0:01cf23487c9eeec758daf425c9947d8089ed9da0
when: on_success
needs:
- cuda9-maxset
Expand All @@ -461,12 +484,11 @@ check_with_odd_no_of_processors:
.deploy_base:
<<: *global_job_definition
stage: deploy
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:cuda-9.0
image: docker.pkg.github.com/espressomd/docker/ubuntu-20.04:e24415d47e2611662efe56b9946f1d0c1dda32d7
only:
- python
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- 'which ssh-agent && eval $(ssh-agent -s) || exit 1'
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ${HOME}/.ssh && chmod 700 ${HOME}/.ssh
- echo "$SSH_PRIVATE_KEY" > ${HOME}/.ssh/espresso_rsa && chmod 600 ${HOME}/.ssh/espresso_rsa
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ matrix:
- os: linux
sudo: required
services: docker
env: myconfig=maxset image=ubuntu-python3
env: myconfig=maxset image=espressomd/docker-ubuntu-18.04:446ff604bbfa63f30ddb462697fa0d0dc2630460

script:
- maintainer/CI/build_docker.sh
2 changes: 1 addition & 1 deletion doc/sphinx/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ napoleon_use_param = False
autodoc_mock_imports = ['featuredefs', 'matplotlib', 'OpenGL', 'mayavi', 'pyface', 'tvtk', 'vtk', 'MDAnalysis', 'electrostatics']

def setup(app):
app.add_stylesheet('bibtex.css')
app.add_css_file('bibtex.css')


# -- Options for Cython ---------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions maintainer/CI/build_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ make_check=${make_check}
EOF

if [ -z "${image}" ]; then
image="ubuntu"
echo "ERROR: environment variable 'image' is missing" >&2
exit 1
fi

image="espressomd/espresso-${image}:latest"
docker run -u espresso --env-file "${ENV_FILE}" -v "${PWD}:/travis" -it "${image}" /bin/bash -c "cp -r /travis .; cd travis && maintainer/CI/build_cmake.sh" || exit 1
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ traitsui>=4.5.1
requests>=2.9.1 # to post on GitHub as espresso-ci
lxml>=3.5.0 # to deploy tutorials
# sphinx and its dependencies
sphinx>=1.6.6,!=2.1.0
sphinx>=1.6.6,!=2.1.0,!=3.0.0
sphinxcontrib-bibtex>=0.3.5
# pep8 and its dependencies
autopep8==1.3.4
Expand Down
17 changes: 10 additions & 7 deletions src/python/espressomd/accumulators.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,6 @@ class MeanVarianceCalculator(ScriptInterfaceHelper):
-------
update()
Update the accumulator (get the current values from the observable).
get_mean()
Returns the samples mean values of the respective observable with which the
accumulator was initialized.
get_variance()
Returns the samples variance for the observable.

"""
_so_name = "Accumulators::MeanVarianceCalculator"
Expand All @@ -49,9 +44,16 @@ class MeanVarianceCalculator(ScriptInterfaceHelper):
_so_creation_policy = "LOCAL"

def get_mean(self):
"""
Returns the samples mean values of the respective observable with
which the accumulator was initialized.
"""
return np.array(self.call_method("get_mean")).reshape(self.shape())

def get_variance(self):
"""
Returns the samples variance for the observable.
"""
return np.array(self.call_method("get_variance")).reshape(self.shape())


Expand All @@ -71,8 +73,6 @@ class TimeSeries(ScriptInterfaceHelper):
-------
update()
Update the accumulator (get the current values from the observable).
time_series()
Returns the recorded values of the observable.
clear()
Clear the data

Expand All @@ -86,6 +86,9 @@ class TimeSeries(ScriptInterfaceHelper):
_so_creation_policy = "LOCAL"

def time_series(self):
"""
Returns the recorded values of the observable.
"""
return np.array(self.call_method("time_series")).reshape(self.shape())


Expand Down
8 changes: 6 additions & 2 deletions src/python/espressomd/constraints.py
Original file line number Diff line number Diff line change
Expand Up @@ -555,8 +555,6 @@ class HomogeneousFlowField(Constraint):

Attributes
----------
u : (3,) array_like of :obj:`float`
Field velocity.
gamma : :obj:`float`
Coupling constant

Expand All @@ -569,6 +567,12 @@ def __init__(self, **kwargs):

@property
def u(self):
"""
Returns
-------
(3,) array_like of :obj:`float` :
Field velocity.
"""
return self.value

_so_name = "Constraints::HomogeneousFlowField"
Expand Down
12 changes: 6 additions & 6 deletions src/python/espressomd/drude_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def add_drude_particle_to_core(system, harmonic_bond, thermalized_bond,
Collects types/charges/polarizations/Thole factors for intramolecular
core-Drude short-range exclusion and Thole interaction.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down Expand Up @@ -135,7 +135,7 @@ def add_thole_pair_damping(system, t1, t2, verbose=False):
Calculates mixed Thole factors depending on Thole damping and polarization.
Adds non-bonded Thole interactions to the system.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down Expand Up @@ -164,7 +164,7 @@ def add_all_thole(system, verbose=False):
Calls :meth:`add_thole_pair_damping()` for all necessary combinations to
create the interactions.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down Expand Up @@ -195,7 +195,7 @@ def setup_and_add_drude_exclusion_bonds(system, verbose=False):
between Drude particles and core charges and adds the bonds to the cores.
Has to be called once after all Drude particles have been created.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down Expand Up @@ -236,7 +236,7 @@ def setup_intramol_exclusion_bonds(system, mol_drude_types, mol_core_types,
between Drude particles and partial charges of the cores. Has to be called once
after all Drude particles have been created.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down Expand Up @@ -275,7 +275,7 @@ def add_intramol_exclusion_bonds(system, drude_ids, core_ids, verbose=False):
Applies electrostatic short-range exclusion bonds for the given ids.
Has to be applied for all molecules.

Attributes
Parameters
----------

system : :class:`espressomd.system.System`
Expand Down