Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* GSL and RALFit work * Add dockerfile for the basic dependencies * First stab at a travis.yml file * pull a specific version of the container * update the docker command * correct name of docker container * change the docker run command * Add full install dockerfile * docker run the script * remove multiline * docker run --> docker exec * update bash script location * Fixing table tests * Updating docker travis file * run apt-get update first * pull the extras container, and test defaults * change location of block scalars * swap tabs for spaces * fix unit tests version * Change location of break * make one line * change directory on entry * change directory of fitbenchmarking * add missing / to pip install * Update dockerfile to build pygsl and update MASTSIF * fix pycutest_cache directory * Run other tests through docker * update dockerfile so that PYTHONPATH is correct * fix directory location * pull the correct container * fix some of the travis warnings * fix the python version used * move to fitbenchmarking repo, not personal one * try and fix sending of data to coveralls * run coveralls in docker * pass environment variables to docker containers * change order of env variables passed to travis * try and run coveralls outside of docker * start docker in fitbenchmarking folder * allow for mantid segfault on first run * full->extras * fix or syntax * split into two commands * try to put segfault on before_install * move segfault capturing into the unit_tests file * install coveralls and change paths * move install of coveralls after pass * remove parallel option * fix coveragerc error * combine coverage reports to fix the directory structure Following the hints here: pytest-dev/pytest-cov#146 * try earlier version of coverage see TheKevJames/coveralls-python#203 * be more specific in the version * fix coverage version to that in the docker container * remove python-coveralls from dockerfile As suggested here: z4r/python-coveralls#73 * remove installation of coverage * pin coverage in dockerfile * remove installation of coveralls (unneeded) * fix syntax * remove old dockerfile * add documentation for the docker tests * fix documentation styling * fix examples format * revert to fixed test directory Co-authored-by: Michael Wathen <mwathen@gmail.com> (cherry picked from commit e7bfb0d)
- Loading branch information
1 parent
95e6cff
commit e0df466
Showing
6 changed files
with
185 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Use ubuntu as a parent image | ||
FROM ubuntu:18.04 | ||
|
||
# Install the packages we need to build fitbenchmarking | ||
RUN apt-get update && apt-get install -y \ | ||
python3 \ | ||
python3-pip \ | ||
python3-dev \ | ||
python3-venv \ | ||
git | ||
|
||
# set up a venv to stop python/python3 sillyness | ||
ENV VIRTUAL_ENV=/opt/venv | ||
RUN python3 -m venv $VIRTUAL_ENV | ||
ENV PATH="$VIRTUAL_ENV/bin:$PATH" | ||
|
||
RUN pip install wheel | ||
RUN pip install pytest>3.6 \ | ||
pytest-cov \ | ||
coveralls \ | ||
coverage~=4.5.4 \ | ||
urllib3==1.23 \ | ||
mock | ||
|
||
WORKDIR /home/ | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# Use the basic dependencies | ||
FROM fitbenchmarking/fitbenchmarking-deps:latest | ||
|
||
WORKDIR / | ||
|
||
################# | ||
# Install pygsl # | ||
################# | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y gsl-bin \ | ||
libgsl-dev \ | ||
libgsl-dbg | ||
|
||
################## | ||
# Install RALFit # | ||
################## | ||
RUN apt-get install -y gfortran \ | ||
lcov \ | ||
libblas-dev \ | ||
liblapack-dev \ | ||
cmake \ | ||
libgdal-dev | ||
|
||
RUN git clone https://github.com/ralna/RALFit | ||
|
||
RUN pip install numpy | ||
|
||
RUN mkdir -p /RALFit/libRALFit/build | ||
|
||
WORKDIR /RALFit/libRALFit/build | ||
|
||
RUN cmake .. && make && make install | ||
|
||
# make install for RALFit doesn't work on docker, so manually pip install | ||
RUN pip install . | ||
|
||
ENV LD_LIBRARY_PATH=/RALFit/libRALFit/build/src:$LD_LIBRARY_PATH | ||
|
||
################ | ||
# Build cutest # | ||
################ | ||
|
||
RUN mkdir -p /cutest | ||
|
||
WORKDIR /cutest | ||
|
||
RUN git clone https://github.com/ralna/ARCHDefs ./archdefs && \ | ||
git clone https://github.com/ralna/SIFDecode ./sifdecode && \ | ||
git clone https://github.com/ralna/CUTEst ./cutest | ||
|
||
RUN mkdir pycutest_cache | ||
|
||
ENV ARCHDEFS=/cutest/archdefs/ \ | ||
SIFDECODE=/cutest/sifdecode/ \ | ||
MASTSIF=/home/fitbenchmarking/examples/benchmark_problems/SIF/ \ | ||
CUTEST=/cutest/cutest/ \ | ||
MYARCH="pc64.lnx.gfo" \ | ||
PYCUTEST_CACHE=/cutest/pycutest_cache/ | ||
|
||
ENV PYTHONPATH="${PYCUTEST_CACHE}:${PYTHONPATH}" | ||
|
||
# Install sifdecode | ||
|
||
WORKDIR $SIFDECODE | ||
RUN printf "6\n2\n6\n" > sifdecode.input && \ | ||
printf "nny" >> sifdecode.input && \ | ||
./install_sifdecode < sifdecode.input | ||
|
||
# Install cutest | ||
WORKDIR $CUTEST | ||
RUN printf "6\n2\n6\n2\n8\n" > cutest.input && \ | ||
printf "nnydn" >> cutest.input && \ | ||
./install_cutest < cutest.input | ||
|
||
# install pycutest | ||
RUN python -m pip install pycutest | ||
|
||
################## | ||
# Install Mantid # | ||
################## | ||
|
||
# set noninteractive to stop tzdata prompt | ||
ENV DEBIAN_FRONTEND=noniteractive | ||
|
||
RUN apt-get install -y --fix-missing wget \ | ||
lsb-release \ | ||
software-properties-common | ||
RUN wget -O - http://apt.isis.rl.ac.uk/2E10C193726B7213.asc -q | apt-key add - | ||
RUN apt-add-repository "deb [arch=amd64] http://apt.isis.rl.ac.uk $(lsb_release -c | cut -f 2) main" -y | ||
RUN apt-add-repository ppa:mantid/mantid -y | ||
RUN apt-get update && apt-get install mantid -y | ||
|
||
ENV PYTHONPATH=$PYTHONPATH:/opt/Mantid/lib:/opt/Mantid/bin | ||
RUN pip install IPython six | ||
RUN /opt/Mantid/bin/mantidpython -m mantid.simpleapi || echo "expected segfault on first run" | ||
|
||
################# | ||
# install pygsl # | ||
################# | ||
RUN python -m pip install pygsl | ||
|
||
|
||
## ALL SET UP ## | ||
WORKDIR /home/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters