Skip to content

build: compile Anthropic test requirements from explicit inputs - #934

Open
Utkarsh-Sinha0 wants to merge 12 commits into
open-telemetry:mainfrom
Utkarsh-Sinha0:requirements-lock-generator-418
Open

Utkarsh-Sinha0 wants to merge 12 commits into
open-telemetry:mainfrom
Utkarsh-Sinha0:requirements-lock-generator-418

Conversation

@Utkarsh-Sinha0

@Utkarsh-Sinha0 Utkarsh-Sinha0 commented Oct 20, 2026 •

Copy link
Copy Markdown

Compile Anthropic's test requirements from explicit inputs with direct uv pip compile commands and install the resulting locks in the existing Python 3.11 oldest/latest and Python 3.15 latest environments. Remove the tox-config generator and the package's handwritten oldest pins and manual floor check, following #418 and the review requests.

Use Renovate-recognized lock filenames and group Anthropic latest source/lock updates. Dependency CI recompiles all three locks and rejects stale results, uploading a patch when regeneration changes them. Workspace validation and release cleanup read the new oldest runtime inputs, preserving checks for unreleased editable dependencies.

Validation: all three test environments passed (372/388/388 tests), all 13 conformance scenarios passed, and dependency checks, six regression tests, pre-commit, and typecheck passed. Changed-input detection and byte-identical Windows/Linux generation were verified with uv 0.12.1.

Known limitation: CI supplies a regeneration patch for review; it does not automatically commit that patch.

@Utkarsh-Sinha0
Utkarsh-Sinha0 requested a review from a team as a code owner October 20, 2026 20:46
Copilot AI balanced review requested due to automatic review settings October 20, 2026 20:46

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 was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T20:53:15.226695Z 8e3f885 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Waiting on the author · refreshed 2026-11-07 04:07 UTC

Resolve merge conflicts.

Respond to 1 review item (e.g. link a commit, explain why not, ask a follow-up):

  • Top-level threads: 1
Status above doesn't look right?
  • Just replied or pushed? Anything around or after the refresh time above may not be picked up yet — give it a few minutes.
  • Should this be with reviewers? Comment /dashboard route:reviewers to route it to them.
  • Anything wrong — including the routing? Report it with what you expected; it helps us improve the dashboard.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8e3f8857fd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@opentelemetry-pr-dashboard

This comment has been minimized.

Comment thread scripts/generate_requirements.py Outdated
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

"""Compile a tox oldest/latest environment into a pinned requirements file."""

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nothing uses this output yet - tox still installs the handwritten requirements and check_deps.py from #407 stays. Could this PR also switch at least one package to generated locks and drop the manual floor check for it? That would let us judge the approach end to end, which is the goal of #418.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Updated in 8941be1. The Anthropic oldest/latest test matrix now installs generated locks, and its handwritten oldest requirements file and manual floor check have been removed. The documentation example now uses Python 3.11.

All three oldest/latest test environments passed locally, along with the generator tests, dependency checks, pre-commit, and typecheck.

Comment thread CONTRIBUTING.md Outdated
Comment on lines +141 to +142
py310-test-instrumentation-genai-anthropic-oldest \
--output /tmp/anthropic-py310-oldest.txt

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Python 3.10 was dropped in #992, so this env no longer exists.

Suggested change
py310-test-instrumentation-genai-anthropic-oldest \
--output /tmp/anthropic-py310-oldest.txt
py311-test-instrumentation-genai-anthropic-oldest \
--output /tmp/anthropic-py311-oldest.txt

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Updated the example to py311-test-instrumentation-genai-anthropic-oldest. The output now points to the committed Python 3.11 lock used by that test environment.

@Utkarsh-Sinha0 Utkarsh-Sinha0 changed the title build: add oldest/latest test requirements export helper build: export test requirements and lock Anthropic tox environments Nov 3, 2026
Comment thread scripts/generate_requirements.py Resolved
Comment thread tox.ini Resolved
Comment thread scripts/check_deps.py Resolved
Replace tox config parsing with direct uv compile commands, keep latest locks in dependency-update coverage, and validate workspace overrides from the oldest inputs.

Assisted-by: GPT-6.1 Sol
@Utkarsh-Sinha0 Utkarsh-Sinha0 changed the title build: export test requirements and lock Anthropic tox environments build: compile Anthropic test requirements from explicit inputs Nov 4, 2026

@lmolkova lmolkova left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for working on this. Looking at where it ended up, I don't see anything getting easier. check_deps.py stays and gets bigger, and once this rolls out to every package, each one needs 3 .in files, 3 locks, CI compile steps, and Renovate config.

So I don't see a clear benefit right now. Is there a specific reason to go this way that I'm missing? If not, I'd suggest we close this, unless you have an idea for how this could make the existing setup simpler (e.g. replace check_deps.py and the handwritten requirements instead of adding to them).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants