Skip to content

Commit 39e578d

Browse files
jfsmigfvennetier
authored andcommitted
ci: Configure CircleCI
1 parent 5ec3255 commit 39e578d

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

.circleci/config.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
version: 2.1
2+
3+
executors:
4+
ubuntu-focal:
5+
docker:
6+
- image: ubuntu:focal
7+
ubuntu-bionic:
8+
docker:
9+
- image: ubuntu:bionic
10+
ubuntu-xenial:
11+
docker:
12+
- image: ubuntu:xenial
13+
14+
workflows:
15+
all-tests:
16+
jobs:
17+
- build:
18+
matrix:
19+
parameters:
20+
os: [ubuntu-focal, ubuntu-bionic, ubuntu-xenial]
21+
build-type: [Debug, RelWithDebInfo, MinSizeRel]
22+
compiler: [gcc, clang]
23+
24+
jobs:
25+
build:
26+
parameters:
27+
os:
28+
type: executor
29+
build-type:
30+
type: string
31+
compiler:
32+
type: string
33+
executor: << parameters.os >>
34+
steps:
35+
- checkout
36+
- run:
37+
name: System dependencies
38+
command: |
39+
set -ex
40+
PKG='apt-get install -y --no-install-recommends'
41+
export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
42+
echo "tzdata tzdata/Areas select Europe" > /tmp/preseed.txt
43+
echo "tzdata tzdata/Zones/Europe select Brussels" >> /tmp/preseed.txt
44+
debconf-set-selections /tmp/preseed.txt
45+
apt-get update -q
46+
$PKG tzdata ca-certificates
47+
$PKG git pkg-config cmake make build-essential m4 autotools-dev autoconf automake libtool << parameters.compiler >>
48+
$PKG libglib2.0-dev jq
49+
- run:
50+
name: Pull Submodules
51+
command: git submodule update --init --recursive
52+
- run:
53+
name: Build open-io/libdill
54+
command: |
55+
set -ex
56+
cd vendor/libdill
57+
export CC=<< parameters.compiler >>
58+
./autogen.sh
59+
./configure --prefix=/usr --enable-shared --disable-static --disable-tls --disable-threads
60+
make -j 8
61+
make install
62+
- run:
63+
name: Build open-io/gridinit
64+
command: |
65+
set -ex
66+
export CC=<< parameters.compiler >>
67+
cmake -DCMAKE_BUILD_TYPE=<< parameters.build-type>> -DCMAKE_VERBOSE_MAKEFILE=TRUE -DCMAKE_INSTALL_PREFIX=/usr .
68+
make -j 8
69+
make install
70+
- run:
71+
name: Test open-io/gridinit
72+
command: |
73+
set -ex
74+
export TMPDIR=/tmp
75+
./tools/gridinit-genconf.sh 15
76+
gridinit -d -s gridinit /tmp/gridinit/gridinit.conf
77+
./tools/cycle.sh
78+
pkill gridinit

0 commit comments

Comments
 (0)