CI: Add ubuntu:bionic using docker. (#209)
[BUG FIX]: fix 'eval: Syntax error: "(" unexpected' error at build time.
Note: for CI, pkg-config and libtool must be added when using autotools.
This commit is contained in:
committed by
Sylvestre Ledru
parent
f670e731b7
commit
c34f762fcd
+67
-1
@@ -16,6 +16,8 @@ addons:
|
||||
- cmake
|
||||
- automake
|
||||
- autoconf
|
||||
- pkg-config
|
||||
- libtool
|
||||
- libblas-dev
|
||||
- liblapack-dev
|
||||
- diffutils
|
||||
@@ -30,6 +32,7 @@ stages:
|
||||
- name: precise
|
||||
- name: trusty
|
||||
- name: xenial
|
||||
- name: bionic
|
||||
- name: coverage
|
||||
- name: interface64
|
||||
- name: fedora
|
||||
@@ -87,6 +90,69 @@ jobs:
|
||||
- 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)
|
||||
- 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
|
||||
- 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 cmake && \
|
||||
apt-get -y install libblas-dev liblapack-dev && \
|
||||
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 -DICB=ON .. && \
|
||||
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
|
||||
- stage: coverage
|
||||
dist: xenial
|
||||
@@ -136,7 +202,7 @@ jobs:
|
||||
apt-get -y install dialog apt-utils && \
|
||||
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 && \
|
||||
apt-get -y install git gfortran gcc g++ openmpi-bin libopenmpi-dev automake autoconf libtool pkg-config && \
|
||||
cd /tmp && \
|
||||
cd arpack-ng && \
|
||||
git status && \
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
* arpackmm: add --dense option.
|
||||
* autotools: provide *.cmake files (in addition to *.pc file).
|
||||
|
||||
[ Kyle Guinn ]
|
||||
* [BUG FIX]: fix 'eval: Syntax error: "(" unexpected' error at build time.
|
||||
|
||||
arpack-ng - 3.7.0
|
||||
|
||||
[ Franck Houssen ]
|
||||
|
||||
+1
-1
@@ -139,7 +139,7 @@ if test x"$enable_icb" != x"no"; then
|
||||
AC_LANG_PUSH([Fortran])
|
||||
AX_MPI([], AC_MSG_ERROR([could not compile a Fortran MPI test program]))
|
||||
FC=$MPIFC
|
||||
AC_FC_WRAPPERS dnl set FCLIBS
|
||||
AC_FC_LIBRARY_LDFLAGS dnl set FCLIBS
|
||||
AC_LANG_POP([Fortran])
|
||||
|
||||
AC_LANG_PUSH([C])
|
||||
|
||||
Reference in New Issue
Block a user