Marc Kupietz | 5b6a51e | 2022-04-11 21:23:30 +0200 | [diff] [blame] | 1 | image: metacpan/metacpan-api |
| 2 | |
| 3 | build-and-test: |
| 4 | stage: build |
| 5 | before_script: |
| 6 | - pwd |
| 7 | - source `find .. -name section_helper.sh` |
| 8 | |
| 9 | - start_section install_linux_packages "Installing missing Linux packages" |
| 10 | - apt update && apt -y install cmake libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libomp-dev |
| 11 | - end_section install_linux_packages |
| 12 | |
| 13 | - start_section install_rocksdb_static "Building and installing rocksdb-static" |
| 14 | - curl -L https://github.com/facebook/rocksdb/archive/refs/tags/v5.11.3.tar.gz | tar zx |
| 15 | - cd rocksdb-5.11.3 |
Marc Kupietz | 3e3e326 | 2022-04-12 23:11:45 +0200 | [diff] [blame] | 16 | - export PROCS=$(nproc) |
Marc Kupietz | 5b6a51e | 2022-04-11 21:23:30 +0200 | [diff] [blame] | 17 | - make -j $PROCS static_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| 18 | - make install-static DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| 19 | - end_section install_rocksdb_static |
| 20 | |
| 21 | - start_section install_rocksdb_shared "Building and installing rocksdb-shared" |
| 22 | - make -j $PROCS shared_lib DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| 23 | - make install-shared DISABLE_WARNING_AS_ERROR=1 WARNING_FLAGS=-w |
| 24 | - ldconfig |
| 25 | - cd .. |
| 26 | - end_section rocksdb_shared |
| 27 | |
| 28 | - start_section install_collocatordb "Building and installing collocatordb" |
Marc Kupietz | a7afe93 | 2022-05-19 09:21:03 +0200 | [diff] [blame] | 29 | - git clone "https://korap.ids-mannheim.de/gerrit/ids-kl/collocatordb" |
Marc Kupietz | 5b6a51e | 2022-04-11 21:23:30 +0200 | [diff] [blame] | 30 | - cd collocatordb |
| 31 | - mkdir -p build |
| 32 | - cd build |
| 33 | - cmake .. |
| 34 | - make |
| 35 | - make install # && ctest --extra-verbose |
| 36 | - ldconfig |
| 37 | - end_section install_collocatordb |
| 38 | - cd ../.. |
| 39 | |
| 40 | script: |
| 41 | - start_section build_perl_dependencies "Installing Perl dependencies" |
| 42 | - cpanm https://github.com/Akron/Mojolicious-Plugin-Localize.git |
| 43 | - cpanm --installdeps . |
| 44 | - end_section build_perl_dependencies |
| 45 | |
| 46 | - start_section build_derekovecs-server "Building DeReKoVecs server" |
| 47 | - perl Makefile.PL |
| 48 | - make |
| 49 | - make install |
| 50 | - end_section build_derekovecs-server |
| 51 | |
Marc Kupietz | 3e3e326 | 2022-04-12 23:11:45 +0200 | [diff] [blame] | 52 | - start_section run_derekovecs-server "Testing DeReKoVecs server" |
| 53 | - prove --verbose t |
Marc Kupietz | 5b6a51e | 2022-04-11 21:23:30 +0200 | [diff] [blame] | 54 | - end_section run_derekovecs-server |
| 55 | |
Marc Kupietz | ddba908 | 2023-11-06 06:59:14 +0100 | [diff] [blame^] | 56 | deploy: |
| 57 | rules: |
| 58 | - if: $CI_COMMIT_TAG =~ /.+/ |
| 59 | variables: |
| 60 | VID: $CI_COMMIT_TAG |
| 61 | - when: manual |
| 62 | variables: |
| 63 | VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA |
| 64 | stage: deploy |
| 65 | before_script: |
| 66 | - source `find .. -name section_helper.sh` |
| 67 | - start_section install_linux_packages "Installing missing Linux packages" |
| 68 | - 'command -v ssh-agent >/dev/null || apt-get install openssh-client -y' |
| 69 | - mkdir -p ~/.ssh |
| 70 | - chmod 700 ~/.ssh |
| 71 | - eval $(ssh-agent -s) |
| 72 | - chmod 400 "$SSH_PRIVATE_KEY" |
| 73 | - ssh-add "$SSH_PRIVATE_KEY" |
| 74 | - end_section install_linux_packages |
| 75 | script: |
| 76 | - echo "This is a manual job which doesn't start automatically, and the pipeline can complete without it starting." |
| 77 | - 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" |