
stages:
  - test
  - build
  - deploy

variables:
  VID: $VID
  DEBIAN_FRONTEND: noninteractive
  APT_CACHE_DIR: apt-cache

build-and-test-i5:
  stage: test
  image: rocker/verse
  artifacts:
    paths:
      - "target/*.i5.xml"
      - "target/*.zip"
  cache:
    - key: DNB4KorAP
      paths:
          - apt-cache/

  before_script:
    - source `find .. -name section_helper.sh`
    - start_section install_linux_packages "Installing missing Linux packages"
    - apt-get -o dir::cache::archives="$APT_CACHE_DIR" update
    - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y libxml2-utils
    - end_section install_linux_packages

  script:
    - start_section checking_i5 "Building and testing I5 files"
    - make -j $(nproc) test
    - end_section checking_i5


build-index:
  image: perl:5.38
  services:
    - docker:dind
  stage: build
  rules:
    - if: $CI_COMMIT_TAG =~ /.+/
      variables:
        VID: $CI_COMMIT_TAG
    - when: manual
      variables:
        VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
        PERL_LOCAL_LIB_ROOT: ./perl5
        PERL5LIB: ./perl5/lib/perl5
  cache:
    - key: DNB4KorAP
      paths:
          - $PERL_LOCAL_LIB_ROOT
          - perl5/
          - apt-cache/
    - key:
        files:
          - target/dnb.i5.xml
      paths:
          - target/dnb.zip
          - target/dnb.tree_tagger.zip
          - target/dnb.ud.zip
          - target/dnb.cmc.zip
          - target/dnb.spacy.zip
          - target/dnb.krill.tar
  before_script:
    - source `find .. -name section_helper.sh`
    - start_section install_linux_packages "Installing missing Linux packages"
    - mkdir -pv $APT_CACHE_DIR
    - apt-get -o dir::cache::archives="$APT_CACHE_DIR" update
    - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y rsync pv jq curl openjdk-17-jre-headless docker.io
    - end_section install_linux_packages

    - start_section install_tree_tagger "Installing TreeTagger"
    - curl -Ls 'https://gitlab.ids-mannheim.de/KorAP/CoNLL-U-Treetagger/-/jobs/artifacts/master/raw/conllu2treetagger.xz?job=build-docker-image' | docker load
    - end_section install_tree_tagger

    - start_section install_spacy "Installing spaCy"
    - curl https://corpora.ids-mannheim.de/tools/conllu2spacy.tar.xz |  docker load
    - end_section install_spacy

    - start_section install_perl_packages "Installing missing Perl packages"
    - curl -L https://cpanmin.us | perl - App::cpanminus
    - cpanm -n -l $PERL_LOCAL_LIB_ROOT File::ShareDir::Install https://github.com/KorAP/KorAP-XML-TEI.git
    - cpanm -n -l $PERL_LOCAL_LIB_ROOT https://github.com/KorAP/KorAP-XML-Krill.git
    - cpanm -n -l $PERL_LOCAL_LIB_ROOT https://github.com/KorAP/KorAP-XML-CoNLL-U.git
    - end_section install_perl_packages

  script:
    - export PATH=$PERL_LOCAL_LIB_ROOT/bin:$PATH
    - start_section building_index "Building index"
    - touch target/*.i5.xml target/*.zip target/*.krill.tar # ignore timestamps in make
    - make -j $(nproc) target/dnb.index.tar.xz
    - make -j $(nproc) index
    - ls -l target/*.index.tar
    - end_section building_krill
  artifacts:
    paths:
      - target/*.zip
      - target/dnb.index.tar.xz

deploy:
  stage: deploy
  dependencies:
    - "build-krill"
  when: manual
  image: rocker/verse
  before_script:
    - source `find .. -name section_helper.sh`
    - start_section setup_ssh "Setting up SSH"
    - apt-get update
    - apt-get install  -y rsync openssh-client
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - eval $(ssh-agent -s)
    - chmod 400 $SSH_PRIVATE_KEY
    - ssh-add $SSH_PRIVATE_KEY
    - end_section setup_ssh
  script:
    - start_section korapxmlu "Uploading Krill to KorAP instance dnb"
    - if [ $(ls target/*.krill.tar | wc -l) -lt 1 ]; then echo 'error - less than 1 Krill files found'; false; fi
    - rm -rf json && mkdir -p json
    - for f in target/*.krill.tar; do tar -C json -xf $f; done
    - rsync -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" -avz --delete json korap@$DEPLOY_SERVER:/opt/korap/instance-dnb/
    - end_section korapxmlu
    - start_section korapxmlr "Indexing data & restarting KorAP instance dnb"
    - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null korap@$DEPLOY_SERVER "cd /opt/korap/instance-dnb/ &&
     rm -rf index && mkdir -p index &&
     docker run  -u root --rm -v /opt/korap/instance-dnb:/data:z korap/kustvakt:latest-full Krill-Indexer.jar -c /kustvakt/kustvakt.conf -i /data/json -o /data/index/ && INDEX=./index docker-compose --profile=full -p kyc-ger restart"
    - end_section korapxmlr
    - echo "Deploying $VID"
    - end_section deploy
