Skip to content

chore(ci): poll earliest S3 install script for prof-correctness - #20585

Open
vlad-scherbich wants to merge 9 commits into
mainfrom
vlad/prof-correctness-s3-poll-timeout
Open

vlad-scherbich wants to merge 9 commits into
mainfrom
vlad/prof-correctness-s3-poll-timeout

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

Merge after DataDog/prof-correctness#221

This PR de-flakes the prof-correctness- #20585 job, which sometimes times out due to its dependency not finishing on time: the install.sh wheel publishing job.

We now expand the pool to any of the 3 published wheels, and we take whichever one finishes first, and pass it to downstream via -f ddtrace_install_url=...:

  • install-manylinux2014_x86_64.sh
  • install-manylinux2014.sh
  • install.sh
Layer Meaning Which PR
Accept override workflow_dispatch input + default URL prof-correctness#221
Poll + pass URL three candidates, -f ddtrace_install_url= this PR

Testing

  • green CI, esp. prof-correctness job finishes

Risks

Depends on #221. Until it merges, any run that passes ddtrace_install_url returns error code 422.

Additional Notes

https://datadoghq.atlassian.net/browse/PROF-15511

GitLab install.sh uploads have reached ~78m; the previous 63m poll still flakes trigger-downstream before wheels land.
A 120m poll doubles the budget again after a 14m miss. 90m covers the observed ~78m GitLab upload plus slack without parking a runner for two hours.
@vlad-scherbich
vlad-scherbich marked this pull request as ready for review September 25, 2026 19:18
@vlad-scherbich
vlad-scherbich requested review from a team as code owners September 25, 2026 19:18
@vlad-scherbich
vlad-scherbich requested review from Yun-Kim and brettlangdon and removed request for a team September 25, 2026 19:18
@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Pipelines  Tests

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 1 Pipeline job failed

DataDog/apm-reliability/dd-trace-py | download win_arm64 wheels

View more details · View in GitLab

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: df040aa | Docs | View more details | Give us feedback!

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codeowners resolved as

Resolved from the full PR diff against main using the target branch CODEOWNERS file.
CODEOWNERS team requests not listed below are not required by the current file set.

.github/CODEOWNERS                                                      @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/prof-correctness.yml                                  @DataDog/python-guild @DataDog/apm-core-python

@cit-pr-commenter-54b7da

Copy link
Copy Markdown

Circular import analysis

⚠️ Existing circular imports

There are 1 circular imports that already exist on the base branch and have not been changed by this PR.

ddtrace.errortracking._handled_exceptions.bytecode_injector -> ddtrace.errortracking._handled_exceptions.callbacks -> ddtrace.errortracking._handled_exceptions.collector -> ddtrace.errortracking._handled_exceptions.bytecode_reporting -> ddtrace.errortracking._handled_exceptions.bytecode_injector

@vlad-scherbich vlad-scherbich changed the title chore(profiling): Increase prof-correctness job timeout chore(ci): Increase prof-correctness job timeout Sep 25, 2026
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Dependency direction analysis

⚠️ Existing dependency direction violations

There are 201 dependency direction violations that already exist on the base branch and have not been changed by this PR.

Show existing violations (showing 5 of 201 highest severity)
ddtrace.internal.tracemethods -×-> ddtrace.trace  (internal-core -> product:tracing, score=132)
ddtrace.appsec._contrib.django -×-> ddtrace.trace  (product:appsec -> product:tracing, score=130)
ddtrace.llmobs._utils -×-> ddtrace.trace  (product:llmobs -> product:tracing, score=130)
ddtrace.llmobs._integrations.base -×-> ddtrace.trace  (product:llmobs -> product:tracing, score=130)
ddtrace.llmobs._integrations.langchain -×-> ddtrace.trace  (product:llmobs -> product:tracing, score=130)

To see all violations, download the layers-base.json and layers-pr.json artifacts from this CI job and run:

uv run --script scripts/import-analysis/layers.py compare layers-base.json layers-pr.json

@vlad-scherbich
vlad-scherbich requested review from a team and a lite review from Copilot September 25, 2026 20:11
@vlad-scherbich
vlad-scherbich requested review from a team and removed request for Yun-Kim September 25, 2026 20:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

No unresolved review comments remain.

Review effort: Lite
Findings: None

What changed in this PR

Updates the prof-correctness workflow to accommodate slower artifact publication.

Changes:

  • Increases the job timeout from 130 to 160 minutes.
  • Extends S3 polling from 3,800 to 5,400 seconds.
  • Adds polling status and clearer timeout diagnostics.
File Summary
.github/​workflows/​prof-correctness.yml Updates timeout settings and polling diagnostics.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@taegyunkim taegyunkim changed the title chore(ci): Increase prof-correctness job timeout chore(ci): increase prof-correctness job timeout Sep 26, 2026
Comment thread .github/workflows/prof-correctness.yml Outdated
@taegyunkim taegyunkim added the changelog/no-changelog A changelog entry is not required for this PR. label Sep 26, 2026
Unsuffixed install.sh is only after upload all, so a 90m wait still 404s
while install-manylinux2014_x86_64.sh is already up. Match dd-trace-doe
and pass the first 200 to downstream.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Add bounded curl timeouts so S3 polling cannot exceed its intended budget.

Review effort: Lite
Findings: None

Comment thread .github/workflows/prof-correctness.yml
@vlad-scherbich vlad-scherbich changed the title chore(ci): increase prof-correctness job timeout chore(ci): poll earliest S3 install script for prof-correctness Sep 28, 2026
brettlangdon

This comment was marked as resolved.

@vlad-scherbich
vlad-scherbich requested a lite review from Copilot September 28, 2026 19:01
Route CODEOWNERS reviews for .github/workflows/prof-correctness.yml to
@DataDog/profiling-python, matching the other profiling GHA workflows.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Bound each curl request and stop polling after a successful candidate.

Review effort: Lite
Findings: None

@vlad-scherbich

Copy link
Copy Markdown
Contributor Author

change ownership of this workflow to profiling team?

@brettlangdon Good call, changed that in a6417ff

Keep hung TCP probes from blowing past POLL_TIMEOUT, and skip remaining
install-script candidates once one returns 200.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Polling timeout excludes curl probe time, potentially exceeding the job timeout before dispatch.

Review effort: Lite
Findings: 1 Medium severity

Open (1)

Comment thread .github/workflows/prof-correctness.yml Outdated
Interval-only elapsed ignored curl probe time and could overrun the job timeout before dispatch.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

It depends on prof-correctness#221 and requires human validation of the downstream workflow integration.

Review effort: Lite
Findings: None

Resolved since last review (1)

Comment thread .github/workflows/prof-correctness.yml
Comment thread .github/workflows/prof-correctness.yml Outdated
Stand-alone publish-order rationale only — platform indexes land before
unsuffixed install.sh.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog A changelog entry is not required for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants