diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f8e71dd04387bfc6d6addffe82404860e4f2cd25
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+
+image: maven:3-jdk-8
+
+stages:
+  build
+  test
+
+build-jdk11:
+  image: maven:3-jdk-11
+  stage: build
+  script: "mvn clean package"
+
+build-jdk8:
+  stage: build
+  script: "mvn clean package"
+  artifacts:
+    paths:
+    - target/
+    expire_in: 20 minutes
+ 
+test-assignment:
+  stage: test
+  dependencies:
+    - build-jdk8
+  script: "java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=.s --dir src/test/data/pa2/sample --test"
+
+test-positive-whole:
+  stage: test
+  dependencies:
+    - build-jdk8
+  script:
+    - java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=rs --out /tmp/out.o src/test/data/pa2/sample/ast_coverage.py
+    - diff /tmp/out.o src/test/data/pa2/sample/ast_coverage.py.ast.typed || echo 'Ignoring failed test...'
+