blob: b95a1467417ff1980a9df646474df5e549378ed0 [file] [log] [blame]
Marc Kupietz92384022023-02-11 14:06:40 +01001image: docker:latest
2
3services:
4 - docker:dind
5
Marc Kupietz6609a9a2025-11-06 12:12:38 +01006stages:
7 - build
8 - deploy
9
Marc Kupietz3a84a802024-09-03 06:47:37 +020010build-docker:
Marc Kupietz92384022023-02-11 14:06:40 +010011 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 Kupietz3a84a802024-09-03 06:47:37 +020023 - docker build -f Dockerfile -t korap/kalamar:$VID-large --target kalamar .
Marc Kupietz6609a9a2025-11-06 12:12:38 +010024 - 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 Kupietz92384022023-02-11 14:06:40 +010027 artifacts:
28 paths:
Marc Kupietz6609a9a2025-11-06 12:12:38 +010029 - kalamar-*.tar.xz
30
31push-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 Kupietz92384022023-02-11 14:06:40 +010053