| image: metacpan/metacpan-api |
| |
| build-and-test: |
| stage: build |
| before_script: |
| - pwd |
| - source `find .. -name section_helper.sh` |
| |
| - start_section install_linux_packages "Installing missing Linux packages" |
| - apt update && apt -y install cmake libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libomp-dev |
| - end_section install_linux_packages |
| |
| - start_section install_rocksdb_static "Building and installing rocksdb-static" |
| - curl -L https://github.com/facebook/rocksdb/archive/refs/tags/v5.11.3.tar.gz | tar zx |
| - cd rocksdb-5.11.3 |
| - export PROCS=$(nproc) |
| - make -j $PROCS static_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| - make install-static DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| - end_section install_rocksdb_static |
| |
| - start_section install_rocksdb_shared "Building and installing rocksdb-shared" |
| - make -j $PROCS shared_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| - make install-shared DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| - ldconfig |
| - cd .. |
| - end_section rocksdb_shared |
| |
| - start_section install_collocatordb "Building and installing collocatordb" |
| - git clone "https://korap.ids-mannheim.de/gerrit/ids-kl/collocatordb" |
| - cd collocatordb |
| - mkdir -p build |
| - cd build |
| - cmake .. |
| - make |
| - make install # && ctest --extra-verbose |
| - ldconfig |
| - end_section install_collocatordb |
| - cd ../.. |
| |
| script: |
| - start_section build_perl_dependencies "Installing Perl dependencies" |
| - cpanm https://github.com/Akron/Mojolicious-Plugin-Localize.git |
| - cpanm --installdeps . |
| - end_section build_perl_dependencies |
| |
| - start_section build_derekovecs-server "Building DeReKoVecs server" |
| - perl Makefile.PL |
| - make |
| - make install |
| - end_section build_derekovecs-server |
| |
| - start_section run_derekovecs-server "Testing DeReKoVecs server" |
| - prove --verbose t |
| - end_section run_derekovecs-server |
| |
| deploy: |
| rules: |
| - if: $CI_COMMIT_TAG =~ /.+/ |
| variables: |
| VID: $CI_COMMIT_TAG |
| - when: manual |
| variables: |
| VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA |
| stage: deploy |
| before_script: |
| - source `find .. -name section_helper.sh` |
| - start_section install_linux_packages "Installing missing Linux packages" |
| - 'command -v ssh-agent >/dev/null || apt-get install openssh-client -y' |
| - mkdir -p ~/.ssh |
| - chmod 700 ~/.ssh |
| - eval $(ssh-agent -s) |
| - chmod 400 "$SSH_PRIVATE_KEY" |
| - ssh-add "$SSH_PRIVATE_KEY" |
| - end_section install_linux_packages |
| script: |
| - echo "This is a manual job which doesn't start automatically, and the pipeline can complete without it starting." |
| - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $DEPLOY_HOST "cd /opt/korap/derekovecs && git stash && git pull && cpanm --installdeps . && cpanm . && rm -rf _Inline && sudo systemctl restart derekovecs" |