blob: 23bd552f7b48bea69ad9ecbe3aad0df1539c75ba [file] [log] [blame]
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"