feat: Implement clang build analyzer (#2072)

Fix: https://github.com/XRPLF/clio/issues/936
This commit is contained in:
Ayaz Salikhov
2025-05-02 12:49:51 +01:00
committed by GitHub
parent c774a40a59
commit f2384a47f1
9 changed files with 112 additions and 27 deletions

View File

@@ -23,21 +23,13 @@ jobs:
conan_profile: [gcc, clang]
build_type: [Release, Debug]
container: ['{ "image": "ghcr.io/xrplf/clio-ci:latest" }']
code_coverage: [false]
static: [true]
include:
- os: heavy
conan_profile: gcc
build_type: Debug
container: '{ "image": "ghcr.io/xrplf/clio-ci:latest" }'
code_coverage: true
static: true
- os: macos15
conan_profile: default_apple_clang
build_type: Release
container: ""
code_coverage: false
static: false
uses: ./.github/workflows/build_and_test.yml
@@ -46,12 +38,60 @@ jobs:
container: ${{ matrix.container }}
conan_profile: ${{ matrix.conan_profile }}
build_type: ${{ matrix.build_type }}
code_coverage: ${{ matrix.code_coverage }}
static: ${{ matrix.static }}
run_unit_tests: true
run_integration_tests: false
upload_clio_server: true
code_coverage:
name: Run Code Coverage
uses: ./.github/workflows/build_impl.yml
with:
runs_on: heavy
container: '{ "image": "ghcr.io/xrplf/clio-ci:latest" }'
conan_profile: gcc
build_type: Debug
disable_cache: false
code_coverage: true
static: true
upload_clio_server: false
targets: all
sanitizer: "false"
analyze_build_time: false
analyze_build_time:
name: Analyze Build Time
strategy:
fail-fast: false
matrix:
include:
# TODO: Enable when we have at least ubuntu 22.04
# as ClangBuildAnalyzer requires relatively modern glibc
#
# - os: heavy
# conan_profile: clang
# container: '{ "image": "ghcr.io/xrplf/clio-ci:latest" }'
# static: true
- os: macos15
conan_profile: default_apple_clang
container: ""
static: false
uses: ./.github/workflows/build_impl.yml
with:
runs_on: ${{ matrix.os }}
container: ${{ matrix.container }}
conan_profile: ${{ matrix.conan_profile }}
build_type: Release
disable_cache: true
code_coverage: false
static: ${{ matrix.static }}
upload_clio_server: false
targets: all
sanitizer: "false"
analyze_build_time: true
check_config:
name: Check Config Description
needs: build-and-test