mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
This change adds support for sanitizer build options in CI builds workflow. Currently `asan+ubsan` is enabled, while `tsan+ubsan` is left disabled as more changes are required.
49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
name: Build Conan dependencies
|
|
description: "Install Conan dependencies, optionally forcing a rebuild of all dependencies."
|
|
|
|
# Note that actions do not support 'type' and all inputs are strings, see
|
|
# https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax#inputs.
|
|
inputs:
|
|
build_type:
|
|
description: 'The build type to use ("Debug", "Release").'
|
|
required: true
|
|
build_nproc:
|
|
description: "The number of processors to use for building."
|
|
required: true
|
|
force_build:
|
|
description: 'Force building of all dependencies ("true", "false").'
|
|
required: false
|
|
default: "false"
|
|
log_verbosity:
|
|
description: "The logging verbosity."
|
|
required: false
|
|
default: "verbose"
|
|
sanitizers:
|
|
description: "The sanitizers to enable."
|
|
required: false
|
|
default: ""
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Install Conan dependencies
|
|
shell: bash
|
|
env:
|
|
BUILD_NPROC: ${{ inputs.build_nproc }}
|
|
BUILD_OPTION: ${{ inputs.force_build == 'true' && '*' || 'missing' }}
|
|
BUILD_TYPE: ${{ inputs.build_type }}
|
|
LOG_VERBOSITY: ${{ inputs.log_verbosity }}
|
|
SANITIZERS: ${{ inputs.sanitizers }}
|
|
run: |
|
|
echo 'Installing dependencies.'
|
|
conan install \
|
|
--profile ci \
|
|
--build="${BUILD_OPTION}" \
|
|
--options:host='&:tests=True' \
|
|
--options:host='&:xrpld=True' \
|
|
--settings:all build_type="${BUILD_TYPE}" \
|
|
--conf:all tools.build:jobs=${BUILD_NPROC} \
|
|
--conf:all tools.build:verbosity="${LOG_VERBOSITY}" \
|
|
--conf:all tools.compilation:verbosity="${LOG_VERBOSITY}" \
|
|
.
|