| Marc Kupietz | 9452d32 | 2025-12-12 16:42:50 +0100 | [diff] [blame] | 1 | image: docker:latest |
| 2 | |
| 3 | variables: |
| 4 | FF_NETWORK_PER_BUILD: true |
| 5 | |
| 6 | services: |
| 7 | - name: docker:dind |
| 8 | command: [--dns=127.0.0.11] |
| 9 | |
| 10 | stages: |
| 11 | - build |
| 12 | - deploy |
| 13 | |
| 14 | build-docker: |
| 15 | rules: |
| 16 | - if: $CI_COMMIT_TAG =~ /.+/ |
| 17 | variables: |
| 18 | VID: $CI_COMMIT_TAG |
| 19 | - when: manual |
| 20 | variables: |
| 21 | VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA |
| 22 | stage: build |
| 23 | before_script: |
| 24 | - apk update |
| 25 | - apk add --no-cache git |
| 26 | script: |
| 27 | - docker build -f Dockerfile -t korap/tei2korapxml:$VID-large --target tei2korapxml . |
| 28 | - docker run --rm -v /var/run/docker.sock:/var/run/docker.sock mintoolkit/mint --crt-api-version 1.46 build --http-probe=false --exec='PERL5LIB=/tei2korapxml/lib /tei2korapxml/script/tei2korapxml -v || test $? -eq 2 && java -jar /tei2korapxml/share/KorAP-Tokenizer-2.3.0-standalone.jar -V' --include-path=/tei2korapxml/lib --include-path=/usr/local/share/perl5 --include-path=/usr/share/perl5 --include-path=/usr/lib/perl5 --tag korap/tei2korapxml:$VID --tag korap/tei2korapxml:latest korap/tei2korapxml:$VID-large || true |
| 29 | - ARTIFACT=tei2korapxml-${VID}.tar.xz |
| 30 | - docker save korap/tei2korapxml:$VID | xz -T0 -M16G -9 > "$ARTIFACT" |
| 31 | artifacts: |
| 32 | paths: |
| 33 | - tei2korapxml-*.tar.xz |
| 34 | |
| 35 | push-dockerhub: |
| 36 | stage: deploy |
| 37 | needs: |
| 38 | - job: build-docker |
| 39 | artifacts: true |
| 40 | dependencies: |
| 41 | - build-docker |
| 42 | rules: |
| 43 | - if: $CI_COMMIT_TAG =~ /^v.+/ |
| 44 | when: manual |
| 45 | - when: never |
| 46 | script: |
| 47 | - apk update |
| 48 | - apk add --no-cache xz |
| 49 | - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin |
| 50 | - ARTIFACT=tei2korapxml-${CI_COMMIT_TAG}.tar.xz |
| 51 | - xz -d -c "$ARTIFACT" | docker load |
| 52 | - docker tag korap/tei2korapxml:$CI_COMMIT_TAG korap/tei2korapxml:latest |
| 53 | - docker push korap/tei2korapxml:$CI_COMMIT_TAG |
| 54 | - docker push korap/tei2korapxml:latest |