gitlab-ci: Add CI/CD configuration

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
diff --git a/.gitlab-ci/fragment.cfg b/.gitlab-ci/fragment.cfg
new file mode 100644
index 0000000..3addafb
--- /dev/null
+++ b/.gitlab-ci/fragment.cfg
@@ -0,0 +1 @@
+# CONFIG_LOCALVERSION_AUTO is not set
diff --git a/.gitlab-ci/gitlab-ci.yml b/.gitlab-ci/gitlab-ci.yml
new file mode 100644
index 0000000..38b3723
--- /dev/null
+++ b/.gitlab-ci/gitlab-ci.yml
@@ -0,0 +1,47 @@
+variables:
+  APT_OPTIONS: -y --allow-unauthenticated
+  ARCH: arm64
+  CROSS_COMPILE: aarch64-linux-gnu-
+  CCACHE_BASEDIR: $CI_PROJECT_DIR
+  CCACHE_DIR: $CI_PROJECT_DIR/ccache
+
+stages:
+  - build
+
+# Retry jobs after runner system failures
+.retry: &retry
+  retry:
+    max: 2
+    when:
+      - runner_system_failure
+
+build:
+  stage: build
+  image: debian:testing
+  cache:                                                             
+    paths:                                                                                                 
+      - ccache
+  before_script:
+    - echo "deb  http://deb.debian.org/debian testing main contrib non-free" > /etc/apt/sources.list
+    - echo "deb-src http://deb.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list
+    - apt-get update && apt-get $APT_OPTIONS build-dep linux && apt-get $APT_OPTIONS install devscripts ccache fakeroot gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
+  script:
+    - export PATH="/usr/lib/ccache:$PATH"
+    - ccache -s
+    - scripts/kconfig/merge_config.sh -m arch/arm64/configs/defconfig .gitlab-ci/fragment.cfg
+    - make olddefconfig
+    - make -j$(nproc)
+    - make INSTALL_MOD_PATH=./tmp modules_install
+    - cd tmp
+    - tar -cJf ../modules.tar.xz .
+    - cd - > /dev/null
+    - mkdir artifacts
+    - cp arch/arm64/boot/Image artifacts/
+    - cp arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb artifacts/
+    - cp arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtb artifacts/
+    - cp modules.tar.xz artifacts/
+  artifacts:
+    name: binaries
+    paths:
+      - $CI_PROJECT_DIR/artifacts/*
+