Add workflows
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..b3c802d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,37 @@
+stages:
+  - test
+  - build
+
+default:
+  image: node:18
+  cache:
+    key:
+      files:
+        - package-lock.json
+    paths:
+      - node_modules/
+
+test:
+  stage: test
+  script:
+    - npm ci
+    - npm test
+
+build:
+  stage: build
+  script:
+    - npm ci
+    - mkdir -p bin/linux bin/macos bin/win
+    - npm run pkg-linux
+    - npm run pkg-macos
+    - npm run pkg-win
+  artifacts:
+    name: "conllu-gender-${CI_COMMIT_TAG:-${CI_COMMIT_SHORT_SHA}}"
+    paths:
+      - bin/linux/conllu-gender
+      - bin/macos/conllu-gender
+      - bin/win/conllu-gender.exe
+    expire_in: 4 weeks
+  rules:
+    - if: $CI_COMMIT_TAG
+    - if: $CI_PIPELINE_SOURCE == "web"