Skip to content

Config Keys Reference

Every .abicheck.yml top-level key and block sub-key that abicheck.buildsource.build_config.BuildConfig itself validates, with its exact required YAML type — generated directly from BuildConfig's strict-schema registries (an unknown key or a wrong-typed value is a hard error). "Other recognized top-level keys" below are also accepted but parsed by a sibling module instead, so no type is claimed for them here. See Config File Reference for effective defaults, CLI-override precedence, and a worked example; this page is the exhaustive key/type list for BuildConfig's own schema only.

Blocks

assurance:

Sub-key Type
require_complete bool

build:

Sub-key Type
compile_db str
compile_db_filter str
query str
system str
targets list[str] (or a single str)

bundle:

Sub-key Type
cohorts list[str] (or a single str)
system_providers list[str] (or a single str)

compile:

Sub-key Type
allow_unsupported_castxml bool
ast_frontend_fallback bool
compiler str
defines list[str] (or a single str)
frontend str
frontend_context str
include_dirs list[str] (or a single str)
lang str
nostdinc bool
options list[str] (or a single str)
std str
sysroot str

debug:

Sub-key Type
debuginfod bool
debuginfod_url str
dwarf_only bool
format str
pdb_path str

gate:

Sub-key Type
fail_on_removed_library bool

performance:

Sub-key Type
profile str

policy:

Sub-key Type
overrides mapping[str, str]

python:

Sub-key Type
abi3_floor str

release:

Sub-key Type
dso_only bool
include_private_dso bool
support_promise str

resource_limits:

Sub-key Type
max_bundle_facts_decode_nodes int

scope:

Sub-key Type
collapse_versioned_symbols bool
dependencies list[{name: str, header_roots: list[str]}]
dependency_evidence str ('full')
exclude_headers list[str] (or a single str)
on_incomplete str
private_headers list[str] (or a single str)
private_namespaces list[str] (or a single str)
public bool
public_header_dirs list[str] (or a single str)
public_symbols list[str] (or a single str)
show_redundant bool

severity:

Sub-key Type
abi_breaking str
addition str
potential_breaking str
preset str
quality_issues str

source:

Sub-key Type
method str

sources:

Sub-key Type
exclude list[str] (or a single str)
graph str
public_headers list[str] (or a single str)

suppression:

Sub-key Type
require_justification bool
strict bool

Top-level scalar keys

Key Type
version int

Nested config blocks (parsed via a shared value type)

Parsed by BuildConfig itself, but each embeds a richer, independently-owned value type's own YAML shape wholesale instead of a flat scalar/list subkey set, so it has no row in the ## Blocks tables above:

deployment:

Embeds abicheck.environment_matrix.EnvironmentMatrix's own YAML shape wholesale (compilers, abi_version, libstdcxx_dual_abi, runtime_floors — a mapping of ELF version-node prefix to declared floor version — sycl:, cuda:, target_os, target_arch), parsed via EnvironmentMatrix.from_dict. See that module's own docstring for the exact shape and Environment & Toolchain Drift for the worked example. The former compare --env-matrix FILE flag.

Other recognized top-level keys

Recognized (so they don't trigger the unknown-key warning) but parsed by a sibling module rather than BuildConfig itself — see abicheck/buildsource/CLAUDE.md's module map for which one:

  • acknowledgment
  • aggregate
  • baseline
  • bundle_variants
  • bundles
  • contract
  • crosschecks
  • profiles
  • risk_rules
  • targets