diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fc790a0b6fbff38a9d386039c04239eccfc59ffc
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,32 @@
+create-file:
+  stage: build
+  image: python
+  tags:
+    - gpu
+  script:
+    - |
+      cat <<EOF > test.py
+      with open('output.txt', 'w') as f:
+        f.write('hello world!\\n')
+      EOF
+    - python test.py
+  artifacts:
+    paths:
+      - output.txt
+
+test-file-output:
+  stage: test
+  script:
+    - grep -q "hello world!" output.txt
+  dependencies:
+    - create-file
+
+deploy-output:
+  stage: deploy
+  script:
+    - cp output.txt release.txt
+  artifacts:
+    paths:
+      - release.txt
+  dependencies:
+    - create-file
diff --git a/src/.gitlab-ci.yml b/src/.gitlab-ci.yml
new file mode 120000
index 0000000000000000000000000000000000000000..47fa87e90568f863f1e2da0453ec7bf5f87400da
--- /dev/null
+++ b/src/.gitlab-ci.yml
@@ -0,0 +1 @@
+../.gitlab-ci.yml
\ No newline at end of file