| Marc Kupietz | 9238402 | 2023-02-11 14:06:40 +0100 | [diff] [blame] | 1 | image: docker:latest |
| 2 | |
| 3 | services: |
| 4 | - docker:dind |
| 5 | |
| Marc Kupietz | 6609a9a | 2025-11-06 12:12:38 +0100 | [diff] [blame] | 6 | stages: |
| 7 | - build |
| 8 | - deploy |
| 9 | |
| Marc Kupietz | 3a84a80 | 2024-09-03 06:47:37 +0200 | [diff] [blame] | 10 | build-docker: |
| Marc Kupietz | 9238402 | 2023-02-11 14:06:40 +0100 | [diff] [blame] | 11 | rules: |
| 12 | - if: $CI_COMMIT_TAG =~ /.+/ |
| 13 | variables: |
| 14 | VID: $CI_COMMIT_TAG |
| 15 | - when: manual |
| 16 | variables: |
| 17 | VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA |
| 18 | stage: build |
| 19 | before_script: |
| 20 | - apk update |
| 21 | - apk add --no-cache git |
| 22 | script: |
| Marc Kupietz | 3a84a80 | 2024-09-03 06:47:37 +0200 | [diff] [blame] | 23 | - docker build -f Dockerfile -t korap/kalamar:$VID-large --target kalamar . |
| Marc Kupietz | 6609a9a | 2025-11-06 12:12:38 +0100 | [diff] [blame] | 24 | - docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build --http-probe=true --exec="perl Makefile.PL && make test && unzip -v" --include-workdir=true --include-path=/usr/local/share/perl5/site_perl/KorAP/ --include-path=/usr/local/share/perl5/site_perl/Mojolicious/ --include-path=/usr/local/share/perl5/site_perl/Mojo/ --tag korap/kalamar:$VID --tag korap/kalamar:latest korap/kalamar:$VID-large |
| 25 | - ARTIFACT=kalamar-${VID}.tar.xz |
| 26 | - docker save korap/kalamar:$VID | xz -T0 -M16G -9 > "$ARTIFACT" |
| Marc Kupietz | 9238402 | 2023-02-11 14:06:40 +0100 | [diff] [blame] | 27 | artifacts: |
| 28 | paths: |
| Marc Kupietz | 6609a9a | 2025-11-06 12:12:38 +0100 | [diff] [blame] | 29 | - kalamar-*.tar.xz |
| 30 | |
| 31 | push-dockerhub: |
| 32 | stage: deploy |
| 33 | needs: |
| 34 | - job: build-docker |
| 35 | artifacts: true |
| 36 | dependencies: |
| 37 | - build-docker |
| 38 | rules: |
| 39 | - if: $CI_COMMIT_TAG =~ /^v.+/ |
| 40 | when: manual |
| 41 | - when: never |
| 42 | script: |
| 43 | - apk update |
| 44 | - apk add --no-cache xz |
| 45 | - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin |
| 46 | - ARTIFACT=kalamar-${CI_COMMIT_TAG}.tar.xz |
| 47 | - xz -d -c "$ARTIFACT" | docker load |
| 48 | - docker tag korap/kalamar:$CI_COMMIT_TAG korap/kalamar:latest |
| 49 | - docker tag korap/kalamar:$CI_COMMIT_TAG korap/kalamar:latest-conv |
| 50 | - docker push korap/kalamar:$CI_COMMIT_TAG |
| 51 | - docker push korap/kalamar:latest |
| 52 | - docker push korap/kalamar:latest-conv |
| Marc Kupietz | 9238402 | 2023-02-11 14:06:40 +0100 | [diff] [blame] | 53 | |