Skip to content

[Backport 7.80.x] Move macOS PBS pins into builder inputs#24020

Merged
Kyle-Neale merged 2 commits into
7.80.xfrom
kyle.neale/backport-24015-7.80.x
Jun 11, 2026
Merged

[Backport 7.80.x] Move macOS PBS pins into builder inputs#24020
Kyle-Neale merged 2 commits into
7.80.xfrom
kyle.neale/backport-24015-7.80.x

Conversation

@Kyle-Neale

Copy link
Copy Markdown
Contributor

What does this PR do?

Backport of #24015 to 7.80.x. Moves the macOS Python Build Standalone (PBS) pins (PYTHON_PATCH, PBS_RELEASE, PBS_SHA256__aarch64, PBS_SHA256__x86_64) from the inline env: block in .github/workflows/resolve-build-deps.yaml into a new .builders/images/macos/pbs.env file, sourced by the workflow at runtime. Updates ddev meta scripts upgrade-python-version (and its tests) to write the new file.

Motivation

The previous inline env: lived outside .builders/, so it was not covered by the per-target images/<target>/**/* hash computed in .builders/inputs_hash.py. A PBS pin bump (e.g. 3.13.13 → 3.13.14) therefore did not invalidate the ~/builder_root cache on macOS, so the cached virtualenv kept pointing at the previously installed PBS Python. Co-locating the pins under .builders/images/macos/ puts them inside the hash domain and makes the cache key flip on every bump.

Manual backport because dd-backport[bot] did not file one automatically. The cherry-pick was clean except for .deps/ lockfile artifacts, which were resolved to the 7.80.x versions; the dependency-resolution workflow regenerates them on this branch.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
  • If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

* Move macOS PBS pins into builder inputs

* Update dependency resolution

---------

Co-authored-by: dd-agent-integrations-bot[bot] <dd-agent-integrations-bot[bot]@users.noreply.github.com>
(cherry picked from commit 08e8b31)
@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 9 Pipeline jobs failed

PR | test / test (linux, ubuntu-22.04, ddev, ddev on Linux) / ddev on Linux   View in Datadog   GitHub Actions

PR | test / test (windows, windows-2022, ddev, ddev on Windows) / ddev on Windows   View in Datadog   GitHub Actions

PR | test / test-minimum-base-package (linux, ubuntu-22.04, ddev, ddev on Linux) / minimum-base-package-ddev on Linux   View in Datadog   GitHub Actions

View all 9 failed jobs.

🧪 20 Tests failed in 1 job

PR All | run   GitHub Actions

test_e2e_cisco_legacy_wlc from test_e2e_core.py   View in Datadog (Fix with Cursor)
Needed at least 1 candidates for &#39;snmp.device.reachable&#39;, got 0
Expected:
        MetricStub(name=&#39;snmp.device.reachable&#39;, type=0, value=1, tags=[&#39;agent_host:runnervmqtt2i&#39;, &#39;device_hostname:DDOGWLC&#39;, &#39;device_id:default:172.18.0.2&#39;, &#39;device_ip:172.18.0.2&#39;, &#39;device_namespace:default&#39;, &#39;device_vendor:cisco&#39;, &#39;snmp_device:172.18.0.2&#39;, &#39;snmp_host:DDOGWLC&#39;, &#39;snmp_profile:cisco-legacy-wlc&#39;], hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected tag agent_host:runnervmqtt2i
        Found agent_host:None
        Expected tag device_hostname:DDOGWLC
        Found device_hostname:None
        Expected tag device_id:default:172.18.0.2
        Found device_id:None
...
test_e2e_cisco_nexus from test_e2e_core.py   View in Datadog (Fix with Cursor)
Needed at least 1 candidates for &#39;snmp.device.reachable&#39;, got 0
Expected:
        MetricStub(name=&#39;snmp.device.reachable&#39;, type=0, value=1, tags=[&#39;agent_host:runnervmqtt2i&#39;, &#39;device_hostname:Nexus-eu1.companyname.managed&#39;, &#39;device_id:default:172.18.0.2&#39;, &#39;device_ip:172.18.0.2&#39;, &#39;device_namespace:default&#39;, &#39;device_vendor:cisco&#39;, &#39;snmp_device:172.18.0.2&#39;, &#39;snmp_host:Nexus-eu1.companyname.managed&#39;, &#39;snmp_profile:cisco-nexus&#39;], hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected tag agent_host:runnervmqtt2i
        Found agent_host:None
        Expected tag device_hostname:Nexus-eu1.companyname.managed
        Found device_hostname:None
        Expected tag device_id:default:172.18.0.2
        Found device_id:None
...

View all 20 test failures

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 88.08%

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 359ab0a | Docs | Datadog PR Page | Give us feedback!

@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (7.80.x@ccbeb65). Learn more about missing BASE report.

Additional details and impacted files
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Kyle-Neale Kyle-Neale marked this pull request as ready for review June 11, 2026 16:44
@Kyle-Neale Kyle-Neale requested review from a team as code owners June 11, 2026 16:44
@dd-octo-sts

dd-octo-sts Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Validation Report

Validation Description Status
license-headers Validate Python files have proper license headers

Run ddev validate all changed --fix to attempt to auto-fix supported validations.

Passed validations (19)
Validation Description Status
agent-reqs Verify check versions match the Agent requirements file
ci Validate CI configuration and Codecov settings
codeowners Validate every integration has a CODEOWNERS entry
config Validate default configuration files against spec.yaml
dep Verify dependency pins are consistent and Agent-compatible
http Validate integrations use the HTTP wrapper correctly
imports Validate check imports do not use deprecated modules
integration-style Validate check code style conventions
jmx-metrics Validate JMX metrics definition files and config
labeler Validate PR labeler config matches integration directories
legacy-signature Validate no integration uses the legacy Agent check signature
licenses Validate third-party license attribution list
metadata Validate metadata.csv metric definitions
models Validate configuration data models match spec.yaml
openmetrics Validate OpenMetrics integrations disable the metric limit
package Validate Python package metadata and naming
readmes Validate README files have required sections
saved-views Validate saved view JSON file structure and fields
version Validate version consistency between package and changelog

View full run

@Kyle-Neale Kyle-Neale added the qa/skip-qa Automatically skip this PR for the next QA label Jun 11, 2026
@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Wheels promoted to stable storage for commit 359ab0a39c257e1ecd96819e6c07c1d4731c57c1 by @Kyle-Neale.
Workflow run: https://github.com/DataDog/integrations-core/actions/runs/27367227224

@Kyle-Neale Kyle-Neale merged commit 49e7bea into 7.80.x Jun 11, 2026
610 of 623 checks passed
@Kyle-Neale Kyle-Neale deleted the kyle.neale/backport-24015-7.80.x branch June 11, 2026 18:12
@dd-octo-sts dd-octo-sts Bot added this to the 7.79.0 milestone Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants