Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/dot-project-spec-hash.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
afa3d17914ab7eac38b92d9db64338c3530848411f29c7589a26ba5fb9c625d9
e9adbac38ab1d4d54fa2cb109a664f412653d112e70c6ec68c5793b75dc6bbd8
17 changes: 16 additions & 1 deletion packages/darnit/src/darnit/context/dot_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@
unknown-field catch-all into `ProjectConfig._extra["slack_channels"]`.
Not projected onto any `ProjectConfig` attribute (feature 030 Q1:
parse-only scope).
- 1.3.0 -> 1.4.0 (issue #397, 2026-08-26):
* `maintainers.yaml` `teams[*].managed`: new upstream `Team.Managed
*bool` (nil defaults to managed; false excludes from CNCF resource
automation). Darnit does not consume this attribute today; parsed
via the existing unknown-field catch-all in
`_parse_maintainer_teams` into `MaintainerTeam._extra["managed"]`
(NEW-IGNORED). No new attribute on `MaintainerTeam`.
"""

from __future__ import annotations
Expand All @@ -55,7 +62,7 @@

# Targeted .project/ spec version. Bumped 1:1 with the tracked-hash file
# in `.github/dot-project-spec-hash.txt` per feature 030 Q3.
DOT_PROJECT_SPEC_VERSION = "1.3.0"
DOT_PROJECT_SPEC_VERSION = "1.4.0"
DOT_PROJECT_SPEC_URL = "https://github.com/cncf/automation/tree/main/utilities/dot-project"

# Reconciliation history
Expand All @@ -74,6 +81,14 @@
# in a future reconcile once a control needs it.
# * `cncf_slack_channel` deprecation alias retained (removal is
# tracked for a later reconcile, not yet scheduled).
# - 1.3.0 -> 1.4.0 (issue #397, 2026-08-26):
# * maintainers.yaml `teams[*].managed`: new upstream `Team.Managed
# *bool` field. Nil means managed; false excludes from CNCF
# resource automation. Darnit does not consume this today, so
# it is parsed by `_parse_maintainer_teams`'s existing unknown-
# field catch-all into `MaintainerTeam._extra["managed"]`
# (NEW-IGNORED). Adds no attribute to `MaintainerTeam`.
# * `cncf_slack_channel` deprecation alias retained.


@dataclass
Expand Down
6 changes: 3 additions & 3 deletions tests/darnit/context/test_dot_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -1975,8 +1975,8 @@ def test_empty_repositories_list_stays_empty(self, temp_dir: Path):
assert "repositories" in missing

@pytest.mark.unit
def test_spec_version_bumped_to_1_3_0(self):
"""DOT_PROJECT_SPEC_VERSION MUST be 1.3.0 after the RepositoryEntry reconcile."""
def test_spec_version_bumped_to_1_4_0(self):
"""DOT_PROJECT_SPEC_VERSION MUST be 1.4.0 after the Team.Managed reconcile (issue #397)."""
from darnit.context.dot_project import DOT_PROJECT_SPEC_VERSION

assert DOT_PROJECT_SPEC_VERSION == "1.3.0"
assert DOT_PROJECT_SPEC_VERSION == "1.4.0"
Loading