Merge branch 'master' into fedora-travis

This commit is contained in:
dschwoerer
2020-06-08 08:27:45 +01:00
committed by GitHub
4 changed files with 37 additions and 86 deletions
+33 -83
View File
@@ -40,6 +40,14 @@ stages:
jobs:
include:
# fedora (released fedora with openmpi)
- stage: fedora
dist: bionic
script: ./scripts/travis_fedora.sh setup openmpi latest
# fedora (with gcc 10 and mpich)
- stage: fedora
dist: bionic
script: ./scripts/travis_fedora.sh setup mpich rawhide
# osx <=> macOS 10.13 (high sierra)
- stage: osx
os: osx
@@ -109,9 +117,6 @@ jobs:
- stage: xenial
dist: xenial
script: mkdir -p build && cd build && cmake -D EXAMPLES=ON -D MPI=OFF -D ICB=ON .. && make VERBOSE=1 && make test && make package_source;
- stage: xenial
dist: xenial
script: mkdir -p build && cd build && cmake -DEXAMPLES=ON -DMPI=OFF -DICBEXMM=ON .. && make VERBOSE=1 && make test && make package_source;
- stage: xenial
dist: xenial
script: mkdir -p build && cd build && cmake -D EXAMPLES=ON -D MPI=ON -D ICB=ON .. && make VERBOSE=1 && make test && make package_source;
@@ -124,92 +129,37 @@ jobs:
- stage: xenial
dist: xenial
script: ./bootstrap && ./configure --enable-icb && make VERBOSE=1 && make check && make distcheck;
- stage: xenial
dist: xenial
script: ./bootstrap && ./configure --enable-icb-exmm && make VERBOSE=1 && make check && make distcheck;
- stage: xenial
dist: xenial
script: ./bootstrap && ./configure --enable-mpi --enable-icb && make VERBOSE=1 && make check && make distcheck;
# bionic <=> test ubuntu:bionic with autotools/cmake
# note: when you PR, docker-cp provides, in the container, the branch associated with the PR (not master where there's nothing new)
# 1. docker create --name mobydick IMAGE CMD <=> create a container (= instance of image) but container is NOT yet started
# 2. docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp <=> copy git repository (CI worker, checkout-ed on PR branch) into the container
# note: docker-cp works only if copy from/to containers (not images)
# 3. docker start -a mobydick <=> start to run the container (initialized with docker-cp)
# bionic <=> test "recent" systems, with ICB
- stage: bionic
dist: xenial
script: |
sudo docker pull ubuntu:bionic \
&& \
sudo docker create --name mobydick ubuntu:bionic /bin/bash -c \
"cat /etc/os-release && \
apt-get -y update && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef upgrade && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef dist-upgrade && \
apt-get -y install build-essential && \
apt-get -y install git gfortran gcc g++ openmpi-bin libopenmpi-dev automake autoconf libtool pkg-config && \
apt-get -y install libblas-dev liblapack-dev && \
cd /tmp && \
cd arpack-ng && \
git status && \
git log -2 && \
sed -e 's/LOG_FLAGS = /LOG_FLAGS = --allow-run-as-root --oversubscribe /' -i PARPACK/EXAMPLES/MPI/Makefile.am && \
sed -e 's/LOG_FLAGS = /LOG_FLAGS = --allow-run-as-root --oversubscribe /' -i PARPACK/TESTS/MPI/Makefile.am && \
./bootstrap && \
./configure --enable-icb --enable-mpi --disable-dependency-tracking && \
export VERBOSE=1 && \
make all && \
make check && \
find . -name test-suite.log | xargs tail -n 300" \
&& \
sudo docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp \
&& \
sudo docker start -a mobydick
dist: bionic
script: ./bootstrap && ./configure --enable-icb --enable-icb-exmm --enable-mpi && export VERBOSE=1 && make all && make check
- stage: bionic
dist: xenial
dist: bionic
before_install:
- sudo apt-get -y install python3-minimal python3-pip python3-numpy
- sudo pip3 install --system numpy
# need to build boost-python from source for python 3 (repository package is built for python 2)
- sudo apt-get -y install wget
- wget https://sourceforge.net/projects/boost/files/boost/1.67.0/boost_1_67_0.tar.gz
- tar -xf boost_1_67_0.tar.gz && cd boost_1_67_0
- ./bootstrap.sh --with-libraries=python --with-python=/usr/bin/python3
- sudo ./b2 install
- sudo apt-get install locate
- sudo updatedb
script: |
sudo docker pull ubuntu:bionic \
&& \
sudo docker create --name mobydick ubuntu:bionic /bin/bash -c \
"cat /etc/os-release && \
apt-get -y update && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef upgrade && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef dist-upgrade && \
apt-get -y install build-essential && \
apt-get -y install git gfortran gcc g++ openmpi-bin libopenmpi-dev cmake && \
apt-get -y install libblas-dev liblapack-dev && \
apt-get -y install libeigen3-dev && \
apt-get -y install python3-minimal python3-pip python3-numpy && \
pip3 install numpy && \
apt-get -y install wget && \
wget https://sourceforge.net/projects/boost/files/boost/1.67.0/boost_1_67_0.tar.gz && \
tar -xf boost_1_67_0.tar.gz && cd boost_1_67_0 && \
./bootstrap.sh --with-libraries=python --with-python=/usr/bin/python3 && \
./b2 install && \
apt-get install locate && \
updatedb && \
cd /tmp && \
cd arpack-ng && \
git status && \
git log -2 && \
sed -e 's/mpirun /mpirun --allow-run-as-root --oversubscribe /' -i CMakeLists.txt && \
mkdir -p build && cd build && \
cmake -DEXAMPLES=ON -DMPI=ON -DPYTHON3=ON -DBOOST_PYTHON_LIBSUFFIX='36' .. && \
export VERBOSE=1 && \
make all && \
make test && \
tail -n 300 ./Testing/Temporary/LastTest.log" \
&& \
sudo docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp \
&& \
sudo docker start -a mobydick
# xenial <=> coverage: "recent" systems with ICB
cd $TRAVIS_BUILD_DIR && mkdir -p build && cd build && \
cmake -DEXAMPLES=ON -DICB=ON -DICBEXMM=ON -DMPI=ON -DPYTHON3=ON -DBOOST_PYTHON_LIBSUFFIX='36' .. && \
export VERBOSE=1 && make all && make test
# coverage: "recent" systems with ICB
- stage: coverage
dist: xenial
dist: bionic
script: |
mkdir -p build && cd build \
&& \
cmake -DEXAMPLES=ON -DMPI=ON -DICBEXMM=ON -DCOVERALLS=ON .. &> cmake.log \
cmake -DEXAMPLES=ON -DMPI=ON -DICB=ON -DCOVERALLS=ON .. &> cmake.log \
&& \
tail -n 50 cmake.log \
&& \
@@ -226,14 +176,13 @@ jobs:
head -n 50 coveralls.log && tail -n 50 coveralls.log \
&& \
head -n 50 coveralls.json && tail -n 50 coveralls.json
# xenial <=> interface64: "recent" systems with ICB + MKL + ILP64 (need debian/testing to get MKL-ILP64)
# interface64: "recent" systems with ICB + MKL + ILP64 (need debian/testing to get MKL-ILP64)
# note: when you PR, docker-cp provides, in the container, the branch associated with the PR (not master where there's nothing new)
# 1. docker create --name mobydick IMAGE CMD <=> create a container (= instance of image) but container is NOT yet started
# 2. docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp <=> copy git repository (CI worker, checkout-ed on PR branch) into the container
# note: docker-cp works only if copy from/to containers (not images)
# 3. docker start -a mobydick <=> start to run the container (initialized with docker-cp)
- stage: interface64
allow_failure:
dist: xenial
script: |
sudo docker pull debian \
@@ -250,7 +199,7 @@ jobs:
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef upgrade && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef dist-upgrade && \
cat /etc/os-release && \
apt-get -y install dialog apt-utils && \
apt-get -y install dialog && \
echo yes | apt-get -y install intel-mkl libmkl-dev && \
apt-get -y install build-essential && \
apt-get -y install git gfortran gcc g++ openmpi-bin libopenmpi-dev automake autoconf libtool pkg-config && \
@@ -271,7 +220,7 @@ jobs:
export VERBOSE=1 && \
make all && \
make check && \
find . -name test-suite.log | xargs tail -n 300" \
find . -name test-suite.log | xargs tail -n 300" \
&& \
sudo docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp \
&& \
@@ -288,6 +237,7 @@ jobs:
dist: xenial
script: ./scripts/travis_fedora.sh setup mpich rawhide
after_failure:
# show build error or test log to know what is wrong if errors occured.
+1
View File
@@ -4,6 +4,7 @@ arpack-ng - 3.8.0
* [BUG FIX]: fix 'Unknown CMake command "check_symbol_exists".' when ICB=ON.
[ Franck Houssen ]
* arpackSolver/arpackmm: switch eigen version to 3.3.
* [BUG FIX] fix arpackdef.h (resp. arpackicb.h) must be included only by C/C++ (resp. F77/F90).
* [BUG FIX] iparam/ipntr sizes may change depending on cases.
* pyarpack: python binding based on Boost.Python.Numpy exposing C++ API.
+2 -2
View File
@@ -75,11 +75,11 @@ if (PYTHON3)
endif ()
if (ICBEXMM)
find_package(Eigen3)
find_package(Eigen3 3.3)
if (NOT EIGEN3_FOUND) # If not found, piggy-back pkg-config files.
message(WARNING "CMake didn't find the Eigen3 package. Try to look for pkg-config file...")
find_package(PkgConfig REQUIRED)
pkg_check_modules(EIGEN3 REQUIRED eigen3>=3.2)
pkg_check_modules(EIGEN3 REQUIRED eigen3>=3.3)
endif ()
find_program (BASH_PROGRAM bash)
+1 -1
View File
@@ -78,7 +78,7 @@ AC_ARG_ENABLE([icb-exmm],
[AS_VAR_SET([enable_icb_exmm], [no])])
if test x"$enable_icb_exmm" != x"no"; then
PKG_CHECK_MODULES([EIGEN3], [eigen3 >= 3.2], [], [AC_MSG_ERROR([Eigen not found. Give hints with PKG_CONFIG_PATH. Disable the need of this dependency using --disable-icb-exmm])])
PKG_CHECK_MODULES([EIGEN3], [eigen3 >= 3.3], [], [AC_MSG_ERROR([Eigen not found. Give hints with PKG_CONFIG_PATH. Disable the need of this dependency using --disable-icb-exmm])])
AC_LANG_PUSH([C++])
CPPFLAGS_SAVE=$CPPFLAGS
CPPFLAGS=$EIGEN3_CFLAGS