Add GitLab CI pipeline

Change-Id: I9534f482e264cee279b447eef0971968aa79231d
diff --git a/.gitignore b/.gitignore
index 76f6486..7e0c95a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
 .*\.log
 .*LOG
 LOG.*
+!.gitlab-ci.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..d4c3eab
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,44 @@
+image: gcc
+
+build-and-test:
+  stage: build
+  before_script:
+    - pwd
+    - source `find .. -name section_helper.sh`
+
+    - start_section install_linux_packages "Installing missing Linux packages"
+    - apt update && apt -y install cmake libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libomp-dev
+    - end_section install_linux_packages
+
+    - start_section install_rocksdb_static "Building and installing rocksdb-static"
+    - curl -L https://github.com/facebook/rocksdb/archive/refs/tags/v5.11.3.tar.gz | tar zx
+    - cd rocksdb-5.11.3
+    - export PROCS=$(cat /proc/cpuinfo | grep -c processor)
+    - make -j $PROCS static_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w
+    - make install-static DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w
+    - end_section install_rocksdb_static
+
+    - start_section install_rocksdb_shared "Building and installing rocksdb-shared"
+    - make -j $PROCS shared_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w
+    - make install-shared DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w
+    - cd ..
+    - end_section rocksdb_shared
+
+
+  script:
+    - start_section install_collocatordb "Building and installing collocatordb"
+    - git clone "https://korap.ids-mannheim.de/gerrit/private/collocatordb"
+    - cd collocatordb
+    - mkdir -p build
+    - cd build
+    - cmake ..
+    - make
+    - make install
+    - ctest --extra-verbose
+    - end_section install_collocatordb
+
+  artifacts:
+    paths:
+      - "*.a"
+      - "*.so.*"
+