Skip to content

Commit 42ce2d4

Browse files
ctruedenclaude
andcommitted
Add support for [badges] config section
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 668af45 commit 42ce2d4

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/pombast/cli/_badges.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@ def badges_cmd(
109109
proj_ov = load_kv_file(effective_projects) if effective_projects else {}
110110
comp_ov = pombast_config.component_overrides
111111

112-
cf = ComponentFilter(includes=list(include), excludes=list(exclude))
112+
bc = pombast_config.badges
113+
cf = ComponentFilter(
114+
includes=list(include) or bc.includes,
115+
excludes=list(exclude) or bc.excludes,
116+
)
113117
components = cf.filter(bom_data.components)
114118

115119
ctx = bom_data.ctx

src/pombast/config/_settings.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ class StatusConfig:
7979
default_ci_badge: str = "build"
8080

8181

82+
@dataclass
83+
class BadgesConfig:
84+
"""Configuration for the badges command."""
85+
86+
includes: list[str] = field(default_factory=list)
87+
excludes: list[str] = field(default_factory=list)
88+
89+
8290
@dataclass
8391
class MegaMeltConfig:
8492
"""Configuration for the mega-melt BOM validation phase."""
@@ -101,6 +109,7 @@ class PombastConfig:
101109
component_overrides: dict[str, dict[str, object]] = field(default_factory=dict)
102110
mega_melt: MegaMeltConfig = field(default_factory=MegaMeltConfig)
103111
status: StatusConfig = field(default_factory=StatusConfig)
112+
badges: BadgesConfig = field(default_factory=BadgesConfig)
104113
team: TeamConfig = field(default_factory=TeamConfig)
105114

106115
@classmethod
@@ -147,6 +156,12 @@ def resolve(section: dict, key: str) -> Path | None:
147156
nexus_base=status_data.get("nexus-base", ""),
148157
)
149158

159+
badges_data = data.get("badges", {})
160+
badges_config = BadgesConfig(
161+
includes=badges_data.get("includes", []),
162+
excludes=badges_data.get("excludes", []),
163+
)
164+
150165
team_data = data.get("team", {})
151166
team_config = TeamConfig(
152167
includes=team_data.get("includes", []),
@@ -168,6 +183,7 @@ def resolve(section: dict, key: str) -> Path | None:
168183
component_overrides={k: v for k, v in data.get("components", {}).items()},
169184
mega_melt=mega_melt_config,
170185
status=status_config,
186+
badges=badges_config,
171187
team=team_config,
172188
)
173189

0 commit comments

Comments
 (0)