Commit 9dcd63b1 authored by Markus Scheidgen's avatar Markus Scheidgen
Browse files

Merge branch '42-parsers' into 'v0.8.1'

Adds the missing parsers

See merge request !117
parents 6677d66e 158402ee
Pipeline #76116 passed with stages
in 18 minutes and 38 seconds
......@@ -5,6 +5,7 @@
......@@ -96,7 +96,7 @@ tests:
stage: test
image: python:3.6
image: python:3.7
- git submodule sync
- git submodule update --init --jobs=4
......@@ -155,3 +155,39 @@
[submodule "dependencies/parsers/eels"]
path = dependencies/parsers/eels
url =
[submodule "dependencies/parsers/namd"]
path = dependencies/parsers/namd
url =
[submodule "dependencies/parsers/charmm"]
path = dependencies/parsers/charmm
url =
[submodule "dependencies/parsers/dftbplus"]
path = dependencies/parsers/dftbplus
url =
[submodule "dependencies/parsers/asap"]
path = dependencies/parsers/asap
url =
[submodule "dependencies/parsers/fplo"]
path = dependencies/parsers/fplo
url =
[submodule "dependencies/parsers/mopac"]
path = dependencies/parsers/mopac
url =
[submodule "dependencies/parsers/amber"]
path = dependencies/parsers/amber
url =
[submodule "dependencies/parsers/gromacs"]
path = dependencies/parsers/gromacs
url =
[submodule "dependencies/parsers/gromos"]
path = dependencies/parsers/gromos
url =
[submodule "dependencies/parsers/lammps"]
path = dependencies/parsers/lammps
url =
[submodule "dependencies/parsers/openkim"]
path = dependencies/parsers/openkim
url =
[submodule "dependencies/parsers/tinker"]
path = dependencies/parsers/tinker
url =
......@@ -19,8 +19,10 @@
# The dockerfile is multistaged to use a fat, more convinient build image and
# copy only necessities to a slim final image
# We use slim for the final image
FROM python:3.6-slim as final
# We use stretch instead of slim to allow compoilation of some dependencies. We
# do not bother to have an additional copy to a final slim image, because the space
# savings are minimal
FROM python:3.7-stretch as final
# First built the GUI in a gui build image
FROM node:latest as gui_build
......@@ -32,11 +34,15 @@ COPY gui/yarn.lock /app/yarn.lock
RUN yarn
COPY gui /app
RUN yarn run build
# RUN yarn run --silent react-docgen src/components --pretty > react-docgen.out
# Second, build all python stuff in a python build image
FROM python:3.6-stretch as build
RUN mkdir /install
FROM final
RUN mkdir /app
# Install linux package dependencies
RUN apt-get update
RUN apt-get install -y --no-install-recommends libgomp1
RUN apt-get install -y libmagic-dev curl vim make cmake swig libnetcdf-dev
# Install some specific dependencies necessary for the build process
RUN pip install --upgrade pip
......@@ -54,55 +60,33 @@ RUN pip install scikit-learn==0.20.2
RUN pip install ase==3.19.0
RUN pip install Pint
RUN pip install matid
RUN pip install mdtraj==1.9.1
RUN pip install mdanalysis==0.16.2
RUN pip install mdtraj
RUN pip install mdanalysis
# Make will be necessary to build the docs with sphynx
RUN apt-get update && apt-get install -y make
RUN apt-get update && apt-get install -y vim
# Install pymolfile (required by some parsers)
RUN git clone -b nomad-fair
WORKDIR /pymolfile/
RUN python3 install
RUN rm -rf /pymolfile
# Copy files and install nomad@FAIRDI
WORKDIR /install
COPY . /install
COPY . /app
RUN python compile
RUN pip install .[all]
RUN python sdist
WORKDIR /install/docs
# COPY --from=gui_build /app/react-docgen.out /install/docs
RUN make html
find /usr/local/lib/python3.6/ -name 'tests' ! -path '*/networkx/*' -exec rm -r '{}' + && \
find /usr/local/lib/python3.6/ -name 'test' -exec rm -r '{}' + && \
find /usr/local/lib/python3.6/site-packages/ -name '*.so' -print -exec sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \;
# Third, create a slim final image
FROM final
RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 && apt-get install -y libmagic-dev curl
WORKDIR /app/docs
RUN make html
# copy the sources for tests, coverage, qa, etc.
COPY . /app
# Remove unnessesary files
# transfer installed packages from dependency stage
COPY --from=build /usr/local/lib/python3.6/site-packages /usr/local/lib/python3.6/site-packages
RUN echo "copy 1"
# copy the meta-info, since it files are loaded via relative paths. TODO that should change.
COPY --from=build /install/dependencies/nomad-meta-info /app/dependencies/nomad-meta-info
RUN echo "copy 2"
# copy the documentation, its files will be served by the API
COPY --from=build /install/docs/.build /app/docs/.build
RUN echo "copy 3"
# copy the source distribution, its files will be served by the API
COPY --from=build /install/dist /app/dist
RUN echo "copy 4"
# copy the nomad command
COPY --from=build /usr/local/bin/nomad /usr/bin/nomad
RUN echo "copy 5"
# copy the gui
RUN mkdir -p /app/gui
COPY --from=gui_build /app/build /app/gui/build
RUN echo "copy 6"
find /usr/local/lib/python3.7/ -name 'tests' ! -path '*/networkx/*' -exec rm -r '{}' + && \
find /usr/local/lib/python3.7/ -name 'test' -exec rm -r '{}' + && \
find /usr/local/lib/python3.7/site-packages/ -name '*.so' -print -exec sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \;
# Setup directories, users, rights
RUN mkdir -p /app/.volumes/fs
RUN useradd -ms /bin/bash nomad
RUN chown -R nomad /app
Subproject commit c424e75671e8c09c2f29c90ec63feafd0a2a706e
Subproject commit a2df84b2dfc2c96344e7261580a40d655c904047
Subproject commit 09b52a7494b9655c53bbe3dcab2719823e5f2e27
Subproject commit dd555aad1ce925b5b56be7e55b6650f959ea5261
Subproject commit dc2b8d5a08fb27e53057f27d9854b22ffee28f06
Subproject commit c447c6b07d8528210975337571c98096caf26770
Subproject commit e4bd0a1bd72092de4f41c88ebf843265c162a84c
Subproject commit 2b49f652182adb2139f9bc7503c25212c5ad35a7
Subproject commit b830cf96f325c521c232ce8ccba83073eb5f3bab
Subproject commit ae0068cd75c1b0f6bb818e8cbd5a6a72fe7722f4
Subproject commit 4a74602f7dd287da835cf6a64228b5ad53fd09be
Subproject commit 433f848030759d28bacb780d800877445490da70
Subproject commit aac03d990b7823776c51a1976b2d5a304e4a1cce
Subproject commit 3d225e6858fc449e12c5ca45d9597562011f6589
Subproject commit e38d2615a243c775a378e47a461c731babebf3e6
Subproject commit f9822b6611dc5c8f816c76405923d4973e797d93
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment