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