Switch CircleCI test/test-cmake jobs to ubuntu 20.04 base image

LT1AB
Ryan Burns 2022-02-16 13:06:50 -08:00
parent b59c53f4df
commit f96f9c998f
1 changed files with 16 additions and 53 deletions

View File

@ -2,43 +2,29 @@ version: 2.1
jobs: jobs:
test-cmake: test-cmake:
docker: docker:
- image: hysds/pge-base:latest - image: ubuntu:20.04
user: root
steps: steps:
- checkout: - checkout:
path: /root/project/src path: /root/project/src
- run:
name: Install development tools
command: |
set -ex
pwd
yum update -y
yum groupinstall -y "development tools"
- run: - run:
name: Install ISCE requirements name: Install ISCE requirements
command: | command: |
set -ex set -ex
pwd pwd
mkdir config build install export DEBIAN_FRONTEND=noninteractive
. /opt/conda/bin/activate root apt-get update
conda install -y cython gdal h5py libgdal pytest numpy fftw scipy scons hdf4 hdf5 libgcc libstdcxx-ng cmake astropy pybind11 apt-get install -y cmake cython3 git libfftw3-dev libgdal-dev libhdf4-alt-dev libhdf5-dev libopencv-dev python3-gdal python3-h5py python3-numpy python3-scipy
yum install -y libX11-devel motif-devel jq gcc-gfortran opencv-core
- run: - run:
name: Build and Install ISCE name: Build and Install ISCE
command: | command: |
set -ex set -ex
cd /root/project/src cd /root/project/src
. /opt/conda/bin/activate root
mkdir build mkdir build
cd build cd build
INSTALLPATH=/opt/conda MODPATH=$(python3 -c "import site; print(site.getsitepackages()[-1])")
MODPATH=$(python3 -c "import site; print(site.getsitepackages()[0])") cmake .. -DCMAKE_INSTALL_PREFIX=install -DPYTHON_MODULE_DIR=$MODPATH
# convert to relative path
MODPATH=$(realpath --relative-to=$INSTALLPATH $MODPATH)
cmake .. -DCMAKE_INSTALL_PREFIX=$INSTALLPATH -DPYTHON_MODULE_DIR=$MODPATH
make install VERBOSE=y make install VERBOSE=y
- run: - run:
@ -46,7 +32,6 @@ jobs:
command: | command: |
set -ex set -ex
cd /root/project/src/build cd /root/project/src/build
. /opt/conda/bin/activate root
ctest --output-on-failure ctest --output-on-failure
ISCE2DIR=$(python3 -c "import os, isce2; print(os.path.dirname(isce2.__file__))" | tail -n 1) ISCE2DIR=$(python3 -c "import os, isce2; print(os.path.dirname(isce2.__file__))" | tail -n 1)
export PATH=$ISCE2DIR/applications:$PATH export PATH=$ISCE2DIR/applications:$PATH
@ -60,37 +45,20 @@ jobs:
test: test:
docker: docker:
- image: hysds/pge-base:latest - image: ubuntu:20.04
user: root
steps: steps:
- checkout: - checkout:
path: /root/project/src path: /root/project/src
- run:
name: Install development tools
command: |
set -ex
pwd
yum update -y
yum groupinstall -y "development tools"
- run: - run:
name: Install ISCE requirements name: Install ISCE requirements
command: | command: |
set -ex set -ex
pwd pwd
mkdir config build install mkdir config build install
. /opt/conda/bin/activate root export DEBIAN_FRONTEND=noninteractive
conda install --yes cython gdal h5py libgdal pytest numpy fftw scipy scons hdf4 hdf5 libgcc libstdcxx-ng cmake astropy pybind11 apt-get update
yum install -y libuuid-devel libX11-devel motif-devel jq gcc-gfortran opencv-core apt-get install -y scons cython3 git libfftw3-dev libgdal-dev libhdf4-alt-dev libhdf5-dev libmotif-dev libopencv-dev libx11-dev python3-gdal python3-h5py python3-numpy python3-scipy
ln -s /opt/conda/bin/cython /opt/conda/bin/cython3
cd /opt/conda/lib
unlink libuuid.so
unlink libuuid.so.1
ln -s /lib64/libuuid.so.1.3.0 libuuid.so
ln -s /lib64/libuuid.so.1.3.0 libuuid.so.1
cd /lib64
test -f libgfortran.so || ln -sv libgfortran.so.*.* libgfortran.so
- run: - run:
name: Build SConfigISCE and setup dirs name: Build SConfigISCE and setup dirs
@ -100,10 +68,10 @@ jobs:
cd config cd config
echo "PRJ_SCONS_BUILD = /root/project/build" > SConfigISCE echo "PRJ_SCONS_BUILD = /root/project/build" > SConfigISCE
echo "PRJ_SCONS_INSTALL = /root/project/install/isce" >> SConfigISCE echo "PRJ_SCONS_INSTALL = /root/project/install/isce" >> SConfigISCE
echo "LIBPATH = /usr/lib64 /usr/lib /opt/conda/lib" >> SConfigISCE echo "LIBPATH = /usr/lib64 /usr/lib /usr/lib/x86_64-linux-gnu" >> SConfigISCE
python_inc="$(echo /opt/conda/include/python3.* /opt/conda/lib/python3.*/site-packages/numpy/core/include)" python_inc="/usr/include/python3.8 /usr/lib/python3/dist-packages/numpy/core/include"
echo "CPPPATH = $python_inc /opt/conda/include /usr/include" >> SConfigISCE echo "CPPPATH = $python_inc /usr/include /usr/include/gdal /usr/include/opencv4" >> SConfigISCE
echo "FORTRANPATH = /usr/include /opt/conda/include" >> SConfigISCE echo "FORTRANPATH = /usr/include" >> SConfigISCE
echo "FORTRAN = /bin/gfortran" >> SConfigISCE echo "FORTRAN = /bin/gfortran" >> SConfigISCE
echo "CC = /bin/gcc" >> SConfigISCE echo "CC = /bin/gcc" >> SConfigISCE
echo "CXX = /bin/g++" >> SConfigISCE echo "CXX = /bin/g++" >> SConfigISCE
@ -111,7 +79,7 @@ jobs:
echo "X11LIBPATH = /usr/lib64" >> SConfigISCE echo "X11LIBPATH = /usr/lib64" >> SConfigISCE
echo "MOTIFINCPATH = /usr/include" >> SConfigISCE echo "MOTIFINCPATH = /usr/include" >> SConfigISCE
echo "X11INCPATH = /usr/include" >> SConfigISCE echo "X11INCPATH = /usr/include" >> SConfigISCE
echo "RPATH = /opt/conda/lib /usr/lib64 /usr/lib" >> SConfigISCE echo "RPATH = /usr/lib64 /usr/lib" >> SConfigISCE
cat SConfigISCE cat SConfigISCE
- run: - run:
@ -119,10 +87,7 @@ jobs:
command: | command: |
set -ex set -ex
pwd pwd
. /opt/conda/bin/activate root
cd src cd src
export PATH="/opt/conda/bin:$PATH"
export LD_LIBRARY_PATH="/opt/conda/lib:$LD_LIBRARY_PATH"
SCONS_CONFIG_DIR=/root/project/config scons install --skipcheck SCONS_CONFIG_DIR=/root/project/config scons install --skipcheck
- run: - run:
@ -130,11 +95,9 @@ jobs:
command: | command: |
set -ex set -ex
pwd pwd
. /opt/conda/bin/activate root
ISCE_HOME=/root/project/install/isce ISCE_HOME=/root/project/install/isce
export PATH="$ISCE_HOME/bin:$ISCE_HOME/applications:/opt/conda/bin:$PATH" export PATH="$ISCE_HOME/bin:$ISCE_HOME/applications:$PATH"
export PYTHONPATH="/root/project/install:$PYTHONPATH" export PYTHONPATH="/root/project/install:$PYTHONPATH"
export LD_LIBRARY_PATH="/opt/conda/lib:$LD_LIBRARY_PATH"
topsApp.py --help --steps topsApp.py --help --steps
stripmapApp.py --help --steps stripmapApp.py --help --steps
python3 -c "import isce" python3 -c "import isce"