Skip to content

[pull] master from DataDog:master#616

Merged
pull[bot] merged 6 commits into
ConnectionMaster:masterfrom
DataDog:master
Jun 23, 2026
Merged

[pull] master from DataDog:master#616
pull[bot] merged 6 commits into
ConnectionMaster:masterfrom
DataDog:master

Conversation

@pull

@pull pull Bot commented Jun 23, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

ian28223 and others added 6 commits June 23, 2026 15:33
…adata (#23939)

* SNMP: move Catalyst 1200/1300 serial_number coverage to cisco-sb

Catalyst 1200/1300 (e.g. C1300-24P-4G) and Cisco Business 350 (CBS350) run
the SMB software stack rather than IOS-XE, so they belong in cisco-sb.yaml
alongside the rest of the Cisco Small Business switch family. Their chassis
serial lives at the documented ENTITY-MIB index 67109120
(entPhysicalSerialNum.67109120) per Cisco's SMB switching guide.

- cisco-sb: add sysobjectid 1.3.6.1.4.1.9.6.1.1004.52.5 (CBS350-48P-4G)
  and 1.3.6.1.4.1.9.1.3233 (ciscoC130024P4G); add serial_number metadata
  pointing at entPhysicalSerialNum.67109120.
- cisco-catalyst: add sysobjectid 1.3.6.1.4.1.9.1.3079 (ciscoC9200CX12P2X2G).
  Serial collection for this device requires dynamic chassis-row resolution
  (entPhysicalClass = chassis) which is not yet supported; tracked as an FR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* SNMP: cover all Catalyst 1200/1300/1300X sysobjectids in cisco-sb

Address PR #23939 review: the prior change only listed C1300-24P-4G
(1.3.6.1.4.1.9.1.3233), leaving the rest of the Catalyst 1200/1300
family on the generic Cisco profile because the profile resolver does
not pattern-match across the 9.1.x enterprise tree.

Adds the full ciscoC1200* (.3210–.3225), ciscoC1300* (.3226–.3253) and
ciscoC1300X* (.3410–.3417) ranges from CISCO-PRODUCTS-MIB, so every
Catalyst 1200/1300 variant resolves to cisco-sb and gets the SMB
serial_number metadata.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* SNMP: add changelog for PR 23939

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* GA + dataflows

* add account config

* fix typo

* fix comments

* feat(trellix): add account_config, dataflows, and set display_on_public_website

- Add assets/account_config.json with client_id (text), client_secret
  and api_key (password) fields, and the trellix-endpoint-security-logs
  dataflow config entry
- Add assets/dataflows.yaml declaring the trellix-endpoint-security-logs
  dataflow as always_on, granular, inbound logs
- Set display_on_public_website to true in manifest.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
… dd-sts (#24026)

* Update code coverage to use dd-sts

* Use new policy

* Add continue on error
* Fix envoy bench test and add openmetrics benchmark

* setup check with dd_run_check

* fix license
* Escape SQL Server passwords in connection strings

* Add changelog for SQL Server password escaping

* Fix SQL Server semicolon password test cleanup

* Document SQL Server password escaping rules

* Clean up SQL Server password test sessions

* Avoid SQL Server password test cleanup races

* Clarify SQL Server password escaping comments

* Cover SQL Server password delimiter characters

* Stabilize SQL Server password escape test

* Use one SQL Server special-character password test

* Handle legacy FreeTDS password brace parsing

* Select FreeTDS password escape directly

* Scope FreeTDS password escape to configured driver

* Reject unsupported FreeTDS password sequence
* Create dispatcher task test runner (squashed)

* lint

* cleanup

* address requests from calude agent review

* fix changelog

* Restructure github_async into a lazy-loaded package (#23685)

Splits the single-file `ddev/utils/github_async.py` into a package with the
client and HTTP-shape primitives in `client.py` and one model per submodule
under `models/`. Both `__init__.py` files use PEP 562 module-level
`__getattr__` so importing one symbol only loads the submodule that defines
it -- in particular `from ddev.utils.github_async.models import PullRequest`
does not pull in the workflow or comment models.

Adds two new endpoints used by upcoming work:
  - `AsyncGitHubClient.create_pull_request(owner, repo, title, head, base, body, draft)`
  - `AsyncGitHubClient.add_labels_to_issue(owner, repo, issue_number, labels)`

Expands the `PullRequest` model with the typical fields callers need (id,
state, draft, title, body, user, assignees, requested_reviewers, labels,
created_at/updated_at/closed_at/merged_at, head, base) plus three small
sub-models (`GitHubUser`, `Label`, `PullRequestRef`). Only `number` and
`html_url` are required; the rest default to None/[] so partial payloads
parse fine and `extra='ignore'` keeps the schema forward-compatible.

Adds `FakeAsyncGitHubClient` and the `fake_async_github` pytest fixture in
`tests/helpers/github_async.py`. The fake records every call and offers
`mock_response(method, response, /, *, once=False, **match_kwargs)` for
stubbing replies. Responses can be `BaseException` instances (raised),
`GitHubResponse` instances (passed through), or inner data (auto-wrapped).
`once=True` adds to a per-method FIFO queue so tests can model retry
sequences. Sticky mocks (no `once`) match the most-recent registration.
`assert_called_with` / `assert_called_once_with` perform strict-equality
checks on kwargs; `assert_all_responses_consumed()` asserts the one-shot
queue was drained.

* update with async client changes

* add return_run_details

* restore get_pull_request

* Emit a failed BatchFinished when a test workflow times out

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* remove retry

* download retry

* lint

* lint

* Remove Jira reference from changelog

* Retry artifact downloads with exponential backoff

Wrap download_artifact in a stamina retry_context so the whole operation
(redirect resolution + download + extract) is retried on transient network
failures, retryable server responses (429/5xx), and corrupt/truncated zips.
Retrying the full operation re-resolves a fresh signed URL each attempt,
avoiding stale-URL 403s. 404/403 and zip-slip errors are not retried.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* request change

* remove retry

* fix tests

---------

Co-authored-by: Juanpe Araque <juanpedro.araque@datadoghq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jun 23, 2026
@pull pull Bot added the ⤵️ pull label Jun 23, 2026
@pull pull Bot merged commit db036dc into ConnectionMaster:master Jun 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants