-
Notifications
You must be signed in to change notification settings - Fork 23
98 lines (98 loc) · 3.02 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
COMDB2_DBNAME: mattdb
jobs:
test:
name: Test suite
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- '3.10'
- '3.9'
- '3.8'
- '3.7'
- '3.6'
- '2.7'
steps:
- name: Install dependencies
run: '
sudo apt-get install -qy
pkg-config
' # libcdb2api-dev is installed from source below
- uses: actions/checkout@v3
- name: Checkout comdb2 dependency
uses: actions/checkout@v3
with:
repository: gusmonod/comdb2 # change to bloomberg/comdb2 once PR #3355 is merged
ref: hostname_length
path: original_comdb2
- name: Build comdb2 from source
run: '
sudo apt-get update &&
sudo apt-get install -qy
bison
build-essential
cmake
flex
libevent-dev
liblz4-dev
libprotobuf-c-dev
libreadline-dev
libsqlite3-dev
libssl-dev
libunwind-dev
ncurses-dev
protobuf-c-compiler
tcl
uuid-dev
zlib1g-dev &&
(
mkdir original_comdb2/build &&
cd original_comdb2/build &&
cmake .. &&
make &&
sudo make install
)
'
- name: Start local comdb2 instance
run: '
sudo mkdir -p /opt/bb/share/schemas/$COMDB2_DBNAME &&
sudo echo "$COMDB2_DBNAME 1234 $(hostname -f)" > /opt/bb/etc/cdb2/config/comdb2db.cfg &&
(/opt/bb/bin/pmux -n &) &&
echo started pmux &&
/opt/bb/bin/comdb2 --create $COMDB2_DBNAME &&
(/opt/bb/bin/comdb2 $COMDB2_DBNAME > /tmp/$COMDB2_DBNAME.log 2>&1 &);
until /opt/bb/bin/cdb2sql $COMDB2_DBNAME local "select 1+1" > /dev/null 2>&1;
do
echo -n ".";
sleep 1;
done
'
- name: Creating tables
run: |
tables="$(cat schemas/$COMDB2_DBNAME/table_constraint_order.txt)"
for table_name in $tables
do
table_file="schemas/$COMDB2_DBNAME/$table_name.csc2"
echo "Creating $table_name from $table_file"
/opt/bb/bin/cdb2sql "$COMDB2_DBNAME" local "create table $table_name { $(cat $table_file) }"
done
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4 # note that this step overwrites the PKG_CONFIG_PATH variable
with:
python-version: ${{ matrix.python-version }}
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
PKG_CONFIG_PATH=/opt/bb/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig LDFLAGS="-Wl,-rpath,/opt/bb/lib" python -m pip install .[tests]
- uses: lhotari/action-upterm@v1
- name: Run Tests
run: (cd tests && python -m pytest -vvv)