diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..566ef3e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,32 @@
+image: php:8.1
+
+before_script:
+    # Install some stuff that the image doesn't come with
+    - apt update -yqq
+    - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq
+
+    # Install phive
+    - wget -O phive.phar https://phar.io/releases/phive.phar
+    - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
+    - gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
+    - gpg --verify phive.phar.asc phive.phar
+    - chmod +x phive.phar
+    - mv phive.phar /usr/local/bin/phive
+
+    # Install phab
+    - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C
+
+    # Install the latest version of ncc (Nosial Code Compiler)
+    - git clone https://git.n64.cc/nosial/ncc.git
+    - cd ncc
+    - make redist
+    - build/src/INSTALL --auto --install-composer
+
+build:
+    script:
+        - ncc build --log-level debug
+    artifacts:
+        paths:
+        - build/
+    rules:
+        - if: $CI_COMMIT_BRANCH
\ No newline at end of file