blob: f54a99573fe0d3df2747f7f8c1cc637863f840a6 [file] [log] [blame]
Marc Kupietz92384022023-02-11 14:06:40 +01001image: docker:latest
2
Marc Kupietz79a6d662025-11-24 15:26:21 +01003variables:
4 FF_NETWORK_PER_BUILD: true
Marc Kupietz92384022023-02-11 14:06:40 +01005services:
Marc Kupietz79a6d662025-11-24 15:26:21 +01006 - name: docker:dind
7 command: [--dns=127.0.0.11]
Marc Kupietz92384022023-02-11 14:06:40 +01008
Marc Kupietz6609a9a2025-11-06 12:12:38 +01009stages:
10 - build
11 - deploy
12
Marc Kupietz3a84a802024-09-03 06:47:37 +020013build-docker:
Marc Kupietz92384022023-02-11 14:06:40 +010014 rules:
15 - if: $CI_COMMIT_TAG =~ /.+/
16 variables:
17 VID: $CI_COMMIT_TAG
18 - when: manual
19 variables:
20 VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
21 stage: build
22 before_script:
23 - apk update
24 - apk add --no-cache git
25 script:
Marc Kupietz3a84a802024-09-03 06:47:37 +020026 - docker build -f Dockerfile -t korap/kalamar:$VID-large --target kalamar .
Marc Kupietzbfba1142025-11-23 12:45:31 +010027 - docker run --rm -v /var/run/docker.sock:/var/run/docker.sock mintoolkit/mint --crt-api-version 1.46 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 || true
Marc Kupietz6609a9a2025-11-06 12:12:38 +010028 - ARTIFACT=kalamar-${VID}.tar.xz
29 - docker save korap/kalamar:$VID | xz -T0 -M16G -9 > "$ARTIFACT"
Marc Kupietz92384022023-02-11 14:06:40 +010030 artifacts:
31 paths:
Marc Kupietz6609a9a2025-11-06 12:12:38 +010032 - kalamar-*.tar.xz
33
34push-dockerhub:
35 stage: deploy
36 needs:
37 - job: build-docker
38 artifacts: true
39 dependencies:
40 - build-docker
41 rules:
42 - if: $CI_COMMIT_TAG =~ /^v.+/
43 when: manual
44 - when: never
45 script:
46 - apk update
47 - apk add --no-cache xz
48 - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
49 - ARTIFACT=kalamar-${CI_COMMIT_TAG}.tar.xz
50 - xz -d -c "$ARTIFACT" | docker load
51 - docker tag korap/kalamar:$CI_COMMIT_TAG korap/kalamar:latest
52 - docker tag korap/kalamar:$CI_COMMIT_TAG korap/kalamar:latest-conv
53 - docker push korap/kalamar:$CI_COMMIT_TAG
54 - docker push korap/kalamar:latest
55 - docker push korap/kalamar:latest-conv
Marc Kupietz92384022023-02-11 14:06:40 +010056