name: lsp-server ci on: push: branches: - lsp-server jobs: build-and-test: runs-on: buildx-archlinux defaults: run: shell: bash working-directory: lsp-server env: CONAN_HOME: /tmp/conan-home BUILD_DIR_LINUX: build/clang-linux BUILD_DIR_CROSS: build/clang-cross steps: - name: Verify workspace run: | if [ ! -f conanfile.txt ]; then echo "Missing lsp-server workspace (conanfile.txt not found)" exit 1 fi - name: Build linux run: | conan install . -pr:h=conan/profiles/linux-x86_64-clang -pr:b=conan/profiles/linux-x86_64-clang -of "$BUILD_DIR_LINUX" --build=missing cmake -S . -B "$BUILD_DIR_LINUX/Release" \ -DCMAKE_TOOLCHAIN_FILE="$PWD/$BUILD_DIR_LINUX/Release/generators/conan_toolchain.cmake" \ -DBUILD_TESTS=ON cmake --build "$BUILD_DIR_LINUX/Release" - name: Build cross run: | conan install . -pr:b=conan/profiles/linux-x86_64-clang -pr:h=conan/profiles/windows-x86_64-clang-cross -of "$BUILD_DIR_CROSS" --build=missing cmake -S . -B "$BUILD_DIR_CROSS/Release" \ -DCMAKE_TOOLCHAIN_FILE="$PWD/$BUILD_DIR_CROSS/Release/generators/conan_toolchain.cmake" \ -DBUILD_TESTS=OFF cmake --build "$BUILD_DIR_CROSS/Release" - name: Unit tests run: | ctest --test-dir "$BUILD_DIR_LINUX/Release" --output-on-failure