diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..76675e224e14384429b43ded7db19dcafb40a102
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,18 @@
+image: "ubuntu"
+
+before_script:
+  - apt-get update -qq && apt-get install -y -qq make curl libxml2-utls xsltproc
+
+stages:
+  - build
+  - test
+
+build:
+  stage: build
+  script:
+    - make
+test:
+  stage: test
+  script:
+    - make test
+
diff --git a/Makefile b/Makefile
index f53b3fff45fea85a1ce87b66d95c405705b8c3cc..88277484b86be309abd69e11581b6833a3880a1f 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ orig: bjcp-2015-styleguide-orig.xml xsl/bjcp-2015-styleguide-split.xsl
 bjcp-2015-styleguide-de.xml: orig de xsl/bjcp-2015-styleguide-translate.xsl
 	xsltproc --stringparam lang de xsl/bjcp-2015-styleguide-translate.xsl bjcp-2015-styleguide-orig.xml > bjcp-2015-styleguide-de.xml
 
+test: bjcp-2015-styleguide-orig.xml bjcp-2015-styleguide-de.xml
+	xmllint --noout bjcp-2015-styleguide-orig.xml
+	xmllint --noout bjcp-2015-styleguide-de.xml
+
 clean:
 	rm -rf cache orig
 	rm -f bjcp-2015-styleguide-orig.xml