Prepare release

Change-Id: Ie41a3ba57103ca99d00a512c1699077ad5633135
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..ddc676e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,80 @@
+stages:
+  - test
+  - build
+  - deploy
+
+test-docker-image:
+  image: docker:latest
+  stage: test
+  variables:
+    FF_NETWORK_PER_BUILD: "true"
+  services:
+    - name: docker:dind
+      alias: docker
+      command: ["--dns=127.0.0.11", "--dns=8.8.8.8"]
+  before_script:
+    - apk update
+    - apk add --no-cache bash
+  script:
+    - docker build -t korap/conllu-spacy:test .
+    - echo "Testing version display..."
+    - docker run --rm korap/conllu-spacy:test -V
+    - echo "Testing model listing..."
+    - docker run --rm korap/conllu-spacy:test -L
+
+build-docker-image:
+  image: docker:latest
+  stage: build
+  variables:
+    FF_NETWORK_PER_BUILD: "true"
+  services:
+    - name: docker:dind
+      alias: docker
+      command: ["--dns=127.0.0.11", "--dns=8.8.8.8"]
+  rules:
+    - if: $CI_COMMIT_TAG =~ /.+/
+      variables:
+        VID: $CI_COMMIT_TAG
+    - when: manual
+      variables:
+        VID_ALT: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
+        VID: snapshot
+  cache:
+    key: conllu-spacy
+    paths:
+      - cache/
+  before_script:
+    - mkdir -p cache
+    - apk update
+    - apk add --no-cache bash make xz
+  script:
+    - make build
+    - docker tag korap/conllu-spacy:latest korap/conllu-spacy:$VID
+    - |
+      if [ -n "$VID_ALT" ]; then
+        docker tag korap/conllu-spacy:latest korap/conllu-spacy:$VID_ALT
+      fi
+    - docker save korap/conllu-spacy | xz -T0 > conllu-spacy.xz
+  artifacts:
+    paths:
+      - conllu-spacy.xz
+
+deploy-to-docker-hub:
+  image: docker:latest
+  stage: deploy
+  variables:
+    FF_NETWORK_PER_BUILD: "true"
+  services:
+    - name: docker:dind
+      alias: docker
+      command: ["--dns=127.0.0.11", "--dns=8.8.8.8"]
+  rules:
+    - if: $CI_COMMIT_TAG =~ /.+/
+    - when: manual
+  dependencies:
+    - build-docker-image
+  before_script:
+    - echo "$DOCKER_HUB_PASSWORD" | docker login -u "$DOCKER_HUB_USER" --password-stdin
+  script:
+    - xz -d -c conllu-spacy.xz | docker load
+    - docker push --all-tags korap/conllu-spacy