chore: Use conan options to only control dependencies (#2503)

This commit is contained in:
Ayaz Salikhov
2025-09-04 13:58:59 +01:00
committed by GitHub
parent eb2778ccad
commit cf4d5d649a
9 changed files with 166 additions and 133 deletions

45
.github/actions/conan/action.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: Run Conan
description: Run conan to install dependencies
inputs:
build_dir:
description: Build directory
required: false
default: "build"
conan_profile:
description: Conan profile name
required: true
force_conan_source_build:
description: Whether conan should build all dependencies from source
required: true
default: "false"
build_type:
description: Build type for third-party libraries and clio. Could be 'Release', 'Debug'
required: true
default: "Release"
build_benchmark:
description: Whether to build benchmark tests
required: true
default: "true"
runs:
using: composite
steps:
- name: Create build directory
shell: bash
run: mkdir -p "${{ inputs.build_dir }}"
- name: Run conan
shell: bash
env:
CONAN_BUILD_OPTION: "${{ inputs.force_conan_source_build == 'true' && '*' || 'missing' }}"
BUILD_BENCHMARK: "${{ inputs.build_benchmark == 'true' && 'True' || 'False' }}"
run: |
conan \
install . \
-of build \
-b "$CONAN_BUILD_OPTION" \
-s "build_type=${{ inputs.build_type }}" \
-o "&:tests=True" \
-o "&:benchmark=${BUILD_BENCHMARK}" \
--profile:all "${{ inputs.conan_profile }}"