Skip to content

Commit 9f931d0

Browse files
committed
Add CircleCI config file
Add a simple initial CircleCI configuration to begin POC testing
1 parent e2c76c7 commit 9f931d0

File tree

3 files changed

+93
-0
lines changed

3 files changed

+93
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: base
2+
channels:
3+
- conda-forge
4+
- nodefaults
5+
dependencies:
6+
- cmake
7+
- gxx_linux-64
8+
- gmock
9+
- gtest
10+
- ninja
11+
- pybind11
12+
- pytest
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: base
2+
channels:
3+
- conda-forge
4+
- nodefaults
5+
dependencies:
6+
- eigen
7+
- fftw
8+
- gdal
9+
- h5py
10+
- hdf5
11+
- libstdcxx-ng
12+
- numpy
13+
- pyre
14+
- python
15+
- ruamel.yaml
16+
- scipy
17+
- shapely
18+
- sysroot_linux-64=2.17
19+
- yamale

.circleci/config.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
version: 2.1
2+
3+
jobs:
4+
build-and-test:
5+
docker:
6+
- image: nvidia/cuda:11.4.2-devel-centos7
7+
environment: ISCE3_PREFIX=/opt/isce3
8+
steps:
9+
- run:
10+
name: Install prerequisites
11+
command: |
12+
yum install -y git
13+
- checkout
14+
- run:
15+
name: Install package manager
16+
working_directory: /tmp
17+
command: |
18+
curl -fsSLo Mambaforge.sh https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh
19+
chmod +x Mambaforge.sh
20+
./Mambaforge.sh -b
21+
$HOME/mambaforge/bin/mamba init
22+
echo "source $HOME/.bashrc" >> $BASH_ENV
23+
- run:
24+
name: Install dependencies
25+
working_directory: .circleci/conda
26+
command: |
27+
mamba env update -f runtime-environment.yml
28+
mamba env update -f devel-environment.yml
29+
- run:
30+
name: Configure
31+
command: |
32+
cmake \
33+
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
34+
-DCMAKE_INSTALL_PREFIX=$ISCE3_PREFIX \
35+
-DWITH_CUDA=ON \
36+
-DCMAKE_CUDA_HOST_COMPILER=$CXX \
37+
-G Ninja \
38+
-B build \
39+
-S .
40+
- run:
41+
name: Build
42+
working_directory: build
43+
command: |
44+
cmake --build .
45+
- run:
46+
name: Install
47+
working_directory: build
48+
command: |
49+
cmake --build . --target=install
50+
echo "export PATH=$ISCE3_PREFIX/bin:$PATH" >> $BASH_ENV
51+
echo "export PYTHONPATH=$ISCE3_PREFIX/packages:$PYTHONPATH" >> $BASH_ENV
52+
echo "export LD_LIBRARY_PATH=$ISCE3_PREFIX/lib:$LD_LIBRARY_PATH" >> $BASH_ENV
53+
- run:
54+
name: Test
55+
working_directory: build
56+
command: |
57+
ctest -j $(nproc) --output-on-failure
58+
59+
workflows:
60+
pr-checks:
61+
jobs:
62+
- build-and-test

0 commit comments

Comments
 (0)