Detect stale and unreleased entries in Agent release requirements#23813
Merged
Conversation
Contributor
|
Codecov Report❌ Patch coverage is Additional details and impacted files🚀 New features to boost your workflow:
|
- Validate that by-agent-version-range keys contain the '..' separator and raise a clear ValueError naming the offending key. - Drop the redundant else branch in exclude_unreleased_integrations and move the historical folder-name comment back next to normalize_catalog. - mkdir(exist_ok=True) in the write_repo_config helper for consistency with neighbours. - Parametrize test_agent_version_in_range_is_inclusive (now covers below/above bounds and the malformed-range error path). - Add a direct unit test on get_unreleased_integrations that exercises by-integration and by-agent-version-range together. - Add a clean-pass test for validate agent-reqs and pull the set_root teardown into an isolated_root yield fixture. - Add changelog entries for ddev and datadog_checks_dev.
- Drop the redundant empty parent table header in .ddev/config.toml; the two sub-tables imply it. - Catch ValueError from agent_version_in_range at every command entry point that triggers the lookup (integrations, changelog, integrations_changelog) and surface it via app.abort so config authors get a clean message instead of a Python traceback. - Document that exclude_unreleased_integrations accepts both raw and folder-normalized catalog keys.
When the user runs `ddev validate agent-reqs <check>`, only the requested check should be validated; previously the new stale-entry detection still scanned the whole requirements file and surfaced unrelated stale packages, defeating per-check pre-commit usage.
Contributor
Validation ReportAll 21 validations passed. Show details
|
steveny91
approved these changes
May 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Makes
ddev validate agent-reqsfail whenrequirements-agent-release.txtpins adatadog-*package whose integration folder is gone, and lets Agent release generation skip integrations that were pinned but never actually shipped, via a new[overrides.release.agent.unreleased-integrations]section in.ddev/config.toml.Motivation
Snowflake remained in Agent release output after its folder was removed, and the historical cleanup in #23387 / #23412 resurrected integrations that had not shipped. The first failure mode now hard-fails; the second has an explicit per-Agent-release allowlist so generated files stay correct.
Review checklist (to be filled by reviewers)
qa/requiredif this PR needs QA validation, orqa/skip-qaif it does not. Exactly one of the two is required.backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged