feat: add tsvector and websearch support for query search #74
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: API Service Checks | |
| on: | |
| push: | |
| paths-ignore: | |
| - '.github/ISSUE_TEMPLATE/**' | |
| - 'src/**' | |
| - 'pg_impl/**' | |
| - '*.md' | |
| - '*.sh' | |
| - 'LICENSE' | |
| branches: | |
| - develop | |
| pull_request: | |
| branches: | |
| - develop | |
| concurrency: | |
| group: api-service-checks-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CTEST_OUTPUT_ON_FAILURE: 1 | |
| jobs: | |
| cpp-linter-api-service: | |
| name: Test API service build | |
| runs-on: ubuntu-latest | |
| container: archlinux:base-devel | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install deps | |
| run: | | |
| pacman -Syu --noconfirm \ | |
| cmake pkg-config ninja meson clang lld llvm libc++ python boost boost-libs libbsd tcl libxml2 util-linux zlib git sudo ccache \ | |
| python-virtualenv python-jinja python-voluptuous python-yaml crypto++ yaml-cpp c-ares libev libnghttp2 \ | |
| postgresql postgresql-libs rust | |
| shell: bash | |
| - name: Create builder user and install dependency | |
| run: | | |
| useradd -ms /bin/bash builder | |
| echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers | |
| echo 'LANG=en_US.UTF-8\nLANG_ALL=en_US.UTF-8' > /etc/locale.conf | |
| echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen | |
| locale-gen | |
| cd /tmp | |
| sudo -u builder bash -c "git clone https://aur.archlinux.org/cctz.git && cd cctz && makepkg --rmdeps -sicf --cleanbuild --noconfirm --noprogressbar --nocheck" | |
| sudo -u builder bash -c "git clone https://gitlab.archlinux.org/archlinux/packaging/packages/http-parser.git && cd http-parser && makepkg --rmdeps -sicf --cleanbuild --noconfirm --noprogressbar --nocheck" | |
| shell: bash | |
| - name: ccache | |
| uses: hendrikmuhs/[email protected] | |
| with: | |
| key: "ccache-linter" | |
| max-size: 512M | |
| - name: Configure third-party | |
| run: | | |
| export AR=llvm-ar | |
| export CC='ccache clang' | |
| export CXX='ccache clang++' | |
| export NM=llvm-nm | |
| export RANLIB=llvm-ranlib | |
| cd api-service | |
| ./setup_libpq.py $PWD | |
| ./setup_userver.py $PWD | |
| cd .. | |
| shell: bash | |
| - name: Configure & Build | |
| run: | | |
| cd api-service | |
| ./configure.sh -t=Debug -p=/tmp/api-service-build --use_clang --enable_tests | |
| ./build.sh | |
| shell: bash | |
| - name: Run API tests | |
| run: | | |
| sudo chown -R builder . | |
| cd /tmp/api-service-build/Debug/ | |
| sudo chown -R builder .. | |
| # should make it possible to access userfaultfd without obtaining CAP_SYS_PTRACE capability | |
| if [ -e /proc/sys/vm/unprivileged_userfaultfd ]; then | |
| echo 1 > /proc/sys/vm/unprivileged_userfaultfd | |
| fi | |
| ulimit -n 4096 | |
| sudo -u builder bash -c "ctest -V" | |
| shell: bash | |
| - name: Run clang-tidy | |
| run: | | |
| cd api-service | |
| clang-tidy -p /tmp/api-service-build/Debug src/*.cpp | |
| shell: bash | |
| check_clang_format: | |
| name: "Check API service C++ style" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run clang-format style check for C/C++/Protobuf programs. | |
| uses: jidicula/clang-format-action@5cc331b319e3ad388e0e16ccae131363f0a82c37 | |
| with: | |
| clang-format-version: '20' | |
| check-path: 'api-service/src' | |