diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d81acd83502787e67b1a9d6e22b5766a54e3c70d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,30 @@
+image: "rust:latest"
+
+test:cargo:
+  script:
+    - rustc --version && cargo --version  # Print version info for debugging
+    # No tests yet //
+    # - cargo test --workspace --verbose
+
+build:application:
+  before_script:
+    - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
+    - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
+  cache:
+    key: build-cache-linux
+    paths:
+    - .cargo/registry/cache
+    - .cargo/registry/index
+    - .cargo/git/db
+    - .cargo/bin/
+    - target/
+  script:
+    - cargo build --release
+    - cp target/release/png_to_svg "${CI_PROJECT_DIR}/"
+    - strip png_to_svg
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - png_to_svg
+  only:
+    - trunk
\ No newline at end of file