Skip to content
Closed
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 .in-toto/tag.4e75cfa1.link

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions cisco_duo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ The Cisco Duo integration seamlessly collects multi-factor authentication (MFA)

## Setup

<!-- partial
{{< site-region region="gov" >}}
<div class="alert alert-warning">This integration does not support Duo Federal accounts (<code>duofederal.com</code> domains). Only standard Duo accounts (<code>duosecurity.com</code> domains) are supported.</div>
{{< /site-region >}}
partial -->

### Configuration

#### Get API Credentials of Cisco Duo
Expand Down
1 change: 1 addition & 0 deletions datadog_checks_dev/changelog.d/23608.fixed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix `get_agent_requirement_line` to ignore unknown OS platforms (e.g. `Supported OS::AIX`) when computing agent requirement lines.
Original file line number Diff line number Diff line change
Expand Up @@ -190,11 +190,15 @@ def make(ctx, checks, version, end, initial_release, skip_sign, sign_only, exclu
updated_checks.append(check)
# update the list of integrations to be shipped with the Agent
if repo_choice == 'core' and check not in NOT_CHECKS:
req_file = get_agent_release_requirements()
commit_targets.append(os.path.basename(req_file))
echo_waiting('Updating the Agent requirements file... ', nl=False)
update_agent_requirements(req_file, check, get_agent_requirement_line(check, version, ctx.obj))
echo_success('success!')
requirement_line = get_agent_requirement_line(check, version, ctx.obj)
if requirement_line is not None:
req_file = get_agent_release_requirements()
commit_targets.append(os.path.basename(req_file))
echo_waiting('Updating the Agent requirements file... ', nl=False)
update_agent_requirements(req_file, check, requirement_line)
echo_success('success!')
else:
echo_info(f'Skipping Agent requirements update for {check}: no supported platforms to include.')
Comment on lines +200 to +201
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove stale requirement pins when skipping ignored platforms

When an integration that already has a requirements-agent-release.txt entry is later released as AIX-only, get_agent_requirement_line() now returns None and this branch only logs a skip. Because the existing pin is never removed from the requirements file, that release would continue shipping the unsupported package to the Linux/macOS/Windows Agent even though there are no included platforms left.

Useful? React with 👍 / 👎.


echo_waiting('Committing files...')

Expand Down
14 changes: 12 additions & 2 deletions datadog_checks_dev/datadog_checks/dev/tooling/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
from .utils import get_version_file, load_manifest

# Maps the Python platform strings to the ones we have in the manifest
PLATFORMS_TO_PY = {'windows': 'win32', 'mac_os': 'darwin', 'linux': 'linux2'}
ALL_PLATFORMS = sorted(PLATFORMS_TO_PY)
PLATFORMS_TO_PY = {'windows': 'win32', 'mac_os': 'darwin', 'linux': 'linux2', 'aix': 'aix'}
# OSes that are not included in the agent requirements file
PLATFORMS_IGNORE = frozenset({'aix'})
ALL_PLATFORMS = sorted(k for k in PLATFORMS_TO_PY if k not in PLATFORMS_IGNORE)
VERSION = re.compile(r'__version__ *= *(?:[\'"])(.+?)(?:[\'"])')
DATADOG_PACKAGE_PREFIX = 'datadog-'

Expand Down Expand Up @@ -124,6 +126,14 @@ def get_agent_requirement_line(check, version, app):
else:
platforms = sorted(m.get('supported_os', []))

if not platforms:
raise ManifestError(f"Can't parse the supported OS list for the check {check}: {platforms}")

platforms = [p for p in platforms if p not in PLATFORMS_IGNORE]

if not platforms:
return None

# all platforms
# using sets to ignore possible sorting in the overrides, if any
if set(platforms) == set(ALL_PLATFORMS):
Expand Down
69 changes: 69 additions & 0 deletions datadog_checks_dev/tests/tooling/test_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,75 @@ def test_get_agent_requirement_line_with_overrides(overrides: dict[str, list[str
assert res == expected_line


def _tile_manifest(supported_os_values):
return {
'tile': {
'classifier_tags': [f'Supported OS::{v}' for v in supported_os_values],
}
}


@pytest.mark.parametrize(
'classifier_supported_os, expected_line',
[
(['Linux', 'macOS', 'Windows', 'AIX'], 'datadog-foo==1.2.3'),
(['Linux', 'AIX'], "datadog-foo==1.2.3; sys_platform == 'linux2'"),
(['Linux', 'Windows', 'AIX'], "datadog-foo==1.2.3; sys_platform != 'darwin'"),
(['Linux', 'macOS', 'AIX'], "datadog-foo==1.2.3; sys_platform != 'win32'"),
(['macOS', 'Windows', 'AIX'], "datadog-foo==1.2.3; sys_platform != 'linux2'"),
],
ids=['all_plus_aix', 'linux_plus_aix', 'no_macos_plus_aix', 'no_windows_plus_aix', 'no_linux_plus_aix'],
)
def test_get_agent_requirement_line_tile_manifest_with_aix(classifier_supported_os, expected_line):
with mock.patch('datadog_checks.dev.tooling.release.load_manifest') as load:
load.return_value = _tile_manifest(classifier_supported_os)
assert get_agent_requirement_line('foo', '1.2.3', mock.Mock()) == expected_line


@pytest.mark.parametrize(
'supported_os, expected_line',
[
(['aix', 'linux', 'mac_os', 'windows'], 'datadog-foo==1.2.3'),
(['aix', 'linux'], "datadog-foo==1.2.3; sys_platform == 'linux2'"),
(['aix', 'linux', 'mac_os'], "datadog-foo==1.2.3; sys_platform != 'win32'"),
],
ids=['all_plus_aix', 'linux_plus_aix', 'no_windows_plus_aix'],
)
def test_get_agent_requirement_line_supported_os_with_aix(supported_os, expected_line):
with mock.patch('datadog_checks.dev.tooling.release.load_manifest') as load:
load.return_value = {'supported_os': supported_os}
assert get_agent_requirement_line('foo', '1.2.3', mock.Mock()) == expected_line


@pytest.mark.parametrize(
'manifest',
[
_tile_manifest(['AIX']),
{'supported_os': ['aix']},
],
ids=['tile', 'supported_os'],
)
def test_get_agent_requirement_line_returns_none_when_only_ignored_platforms(manifest):
with mock.patch('datadog_checks.dev.tooling.release.load_manifest') as load:
load.return_value = manifest
assert get_agent_requirement_line('foo', '1.2.3', mock.Mock()) is None


@pytest.mark.parametrize(
'manifest',
[
_tile_manifest([]),
{'supported_os': []},
],
ids=['tile', 'supported_os'],
)
def test_get_agent_requirement_line_raises_when_no_supported_os(manifest):
with mock.patch('datadog_checks.dev.tooling.release.load_manifest') as load:
load.return_value = manifest
with pytest.raises(ManifestError):
get_agent_requirement_line('foo', '1.2.3', mock.Mock())


def test_get_agent_requirement_line_with_overrides_no_manifest_no_override():
with mock.patch('datadog_checks.dev.tooling.release.load_manifest') as load:
load.return_value = {}
Expand Down
1 change: 1 addition & 0 deletions ddev/changelog.d/23601.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add decibel-milliwatt as a new canonical unit
1 change: 1 addition & 0 deletions ddev/src/ddev/cli/validate/metadata_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@
'volt',
'millivolt',
'deciwatt',
'decibel-milliwatt',
'decidegree celsius',
'span',
'exception',
Expand Down
1 change: 1 addition & 0 deletions ibm_ace/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"Supported OS::Linux",
"Supported OS::Windows",
"Supported OS::macOS",
"Supported OS::AIX",
"Offering::Integration"
]
},
Expand Down
1 change: 1 addition & 0 deletions ibm_db2/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"Supported OS::Linux",
"Supported OS::macOS",
"Supported OS::Windows",
"Supported OS::AIX",
"Category::Data Stores",
"Category::Log Collection",
"Offering::Integration"
Expand Down
1 change: 1 addition & 0 deletions ibm_i/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"classifier_tags": [
"Supported OS::Linux",
"Supported OS::macOS",
"Supported OS::AIX",
"Category::OS & System",
"Offering::Integration"
]
Expand Down
1 change: 1 addition & 0 deletions ibm_mq/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"Supported OS::Linux",
"Supported OS::Windows",
"Supported OS::macOS",
"Supported OS::AIX",
"Offering::Integration"
],
"resources": [
Expand Down
1 change: 1 addition & 0 deletions ibm_was/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"Supported OS::Linux",
"Supported OS::Windows",
"Supported OS::macOS",
"Supported OS::AIX",
"Offering::Integration"
]
},
Expand Down
4 changes: 4 additions & 0 deletions lparstats/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# CHANGELOG - lparstats

<!-- towncrier release notes start -->

## 1.0.0 / 2026-05-13

No significant changes.
2 changes: 1 addition & 1 deletion lparstats/datadog_checks/lparstats/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# All rights reserved
# Licensed under a 3-clause BSD style license (see LICENSE)

__version__ = '0.1.0'
__version__ = '1.0.0'
1 change: 1 addition & 0 deletions lparstats/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"media": [],
"classifier_tags": [
"Category::OS & System",
"Supported OS::AIX",
"Offering::Integration"
]
},
Expand Down
5 changes: 5 additions & 0 deletions nifi/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@

<!-- towncrier release notes start -->

## 1.0.0 / 2026-05-13

***Added***:

* Initial Release ([#23110](https://github.com/DataDog/integrations-core/pull/23110))
1 change: 0 additions & 1 deletion nifi/changelog.d/23110.added

This file was deleted.

2 changes: 1 addition & 1 deletion nifi/datadog_checks/nifi/__about__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (C) Datadog, Inc. 2026-present
# All rights reserved
# Licensed under a 3-clause BSD style license (see LICENSE)
__version__ = '0.0.1'
__version__ = '1.0.0'
1 change: 1 addition & 0 deletions openmetrics/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"Supported OS::Windows",
"Category::Metrics",
"Supported OS::macOS",
"Supported OS::AIX",
"Offering::Integration"
],
"resources": [
Expand Down
2 changes: 1 addition & 1 deletion release.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"current_milestone": "7.79.0"
"current_milestone": "7.81.0"
}
1 change: 1 addition & 0 deletions requirements-agent-release.txt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ datadog-network==5.7.0
datadog-nfsstat==3.5.0; sys_platform == 'linux2'
datadog-nginx-ingress-controller==5.4.0
datadog-nginx==9.4.1
datadog-nifi==1.0.0
datadog-nutanix==1.2.0
datadog-nvidia-nim==2.4.1
datadog-nvidia-triton==3.4.1
Expand Down
Loading