[vpython] Add best-effort update_wheel.py helper script [infra/infra : main]

0 views
Skip to first unread message

Camillo Bruni (Gerrit)

unread,
Apr 20, 2026, 3:32:38 AM (11 days ago) Apr 20
to infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org

Camillo Bruni added 1 comment

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Camillo Bruni . resolved

PTAL

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: infra/infra
Gerrit-Branch: main
Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
Gerrit-Change-Number: 7762065
Gerrit-PatchSet: 11
Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Comment-Date: Mon, 20 Apr 2026 07:32:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Alex Ovsienko (Gerrit)

unread,
Apr 20, 2026, 3:40:08 AM (11 days ago) Apr 20
to Camillo Bruni, infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org
Attention needed from Camillo Bruni

Alex Ovsienko added 1 comment

Patchset-level comments
Alex Ovsienko . resolved

May I have some context why we need this? That's quite a big change to approve with no context of what this is and why do we need it.

Open in Gerrit

Related details

Attention is currently required from:
  • Camillo Bruni
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: infra/infra
Gerrit-Branch: main
Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
Gerrit-Change-Number: 7762065
Gerrit-PatchSet: 11
Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
Gerrit-Comment-Date: Mon, 20 Apr 2026 07:40:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Alex Ovsienko (Gerrit)

unread,
Apr 20, 2026, 3:43:31 AM (11 days ago) Apr 20
to Camillo Bruni, infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org
Attention needed from Camillo Bruni

Alex Ovsienko voted and added 1 comment

Votes added by Alex Ovsienko

Code-Review-1

1 comment

Patchset-level comments
Alex Ovsienko . unresolved

If I read this correctly, this works is superseded by my work with UV, I'm sorry to inform you of that. Please check go/vpython-to-uv-greendoc and see if I got it right.

Open in Gerrit

Related details

Attention is currently required from:
  • Camillo Bruni
Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is blockingCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: infra/infra
    Gerrit-Branch: main
    Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
    Gerrit-Change-Number: 7762065
    Gerrit-PatchSet: 11
    Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Comment-Date: Mon, 20 Apr 2026 07:43:24 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    unsatisfied_requirement
    blocking_requirement
    open
    diffy

    Camillo Bruni (Gerrit)

    unread,
    Apr 20, 2026, 9:15:41 AM (11 days ago) Apr 20
    to Alex Ovsienko, infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org
    Attention needed from Alex Ovsienko

    Camillo Bruni added 1 comment

    Patchset-level comments
    Alex Ovsienko . unresolved

    If I read this correctly, this works is superseded by my work with UV, I'm sorry to inform you of that. Please check go/vpython-to-uv-greendoc and see if I got it right.

    Camillo Bruni

    I think not... this is just to use a helper script to get a pytohn package + it's deps names and add them to the current vpython wheels.

    It does not change the package manager and is orthogonal to your proposal.
    Please consider landing this to speed up maintenance fo vpython packages until we have proper replacement.

    What is the timeline on the uv proposal? If we're talking about weeks, then I tihnk holding back makes sense. Otherwise my heper script would be a very nice additional that we can rip out once the uv-approach is shipped.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alex Ovsienko
    Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is blockingCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: infra/infra
    Gerrit-Branch: main
    Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
    Gerrit-Change-Number: 7762065
    Gerrit-PatchSet: 12
    Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Attention: Alex Ovsienko <ovsi...@google.com>
    Gerrit-Comment-Date: Mon, 20 Apr 2026 13:15:38 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Alex Ovsienko <ovsi...@google.com>
    unsatisfied_requirement
    blocking_requirement
    open
    diffy

    Alex Ovsienko (Gerrit)

    unread,
    Apr 20, 2026, 11:47:52 AM (10 days ago) Apr 20
    to Camillo Bruni, infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org
    Attention needed from Camillo Bruni

    Alex Ovsienko voted and added 1 comment

    Votes added by Alex Ovsienko

    Code-Review+0

    1 comment

    Patchset-level comments
    Alex Ovsienko . unresolved

    If I read this correctly, this works is superseded by my work with UV, I'm sorry to inform you of that. Please check go/vpython-to-uv-greendoc and see if I got it right.

    Camillo Bruni

    I think not... this is just to use a helper script to get a pytohn package + it's deps names and add them to the current vpython wheels.

    It does not change the package manager and is orthogonal to your proposal.
    Please consider landing this to speed up maintenance fo vpython packages until we have proper replacement.

    What is the timeline on the uv proposal? If we're talking about weeks, then I tihnk holding back makes sense. Otherwise my heper script would be a very nice additional that we can rip out once the uv-approach is shipped.

    Alex Ovsienko

    Right, I think I got your point. Got no objections for this CL, however we can't fetch versions from pypi directly as you may have noticed. You will need to redirect this to airlock and use the luci credentials, see how it's done in dockerbuild/util.py. Here is AI generated flow:

    1. Source Registry Endpoints
    In util.py, dockerbuild configures the upstream package indices pointing to the internal Artifact Registry:

    python
    PACKAGE_INDEX_URLS = [
    'https://us-python.pkg.dev/artifact-foundry-prod/python-3p-trusted/simple/',
    'https://us-python.pkg.dev/artifact-foundry-prod/ah-3p-staging-python/simple/',
    ]
    2. Authentication & Resolution Flow
    When building wheels (defined in source.py), the fetch process works as follows:

    2.1. Authentication: dockerbuild calls luci-auth to generate an OAuth2 access token with Cloud Platform scopes.
    2.2. Simple API Query (PEP 503): It makes authenticated HTTP GET requests to the standard Simple API endpoint for the normalized package name:
    https://us-python.pkg.dev/.../simple/<package-name>/
    2.3. HTML Parsing: It parses the returned HTML page to find the source distribution (e.g., .tar.gz or .zip) matching the requested version and expected hash.
    2.4. Download: Once the target link is identified, the archive is downloaded and securely verified against its SHA256 hash.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Camillo Bruni
    Submit Requirements:
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: infra/infra
      Gerrit-Branch: main
      Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
      Gerrit-Change-Number: 7762065
      Gerrit-PatchSet: 12
      Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
      Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Comment-Date: Mon, 20 Apr 2026 15:47:42 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Alex Ovsienko <ovsi...@google.com>
      Comment-In-Reply-To: Camillo Bruni <cbr...@chromium.org>
      unsatisfied_requirement
      open
      diffy

      Alex Ovsienko (Gerrit)

      unread,
      Apr 20, 2026, 9:31:25 PM (10 days ago) Apr 20
      to Camillo Bruni, infra-...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org, infra-rev...@chromium.org
      Attention needed from Camillo Bruni

      Alex Ovsienko added 1 comment

      Patchset-level comments
      File-level comment, Patchset 12 (Latest):
      Alex Ovsienko . resolved

      Please sync to head, your cl should pass presbumit now.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Camillo Bruni
      Submit Requirements:
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: infra/infra
      Gerrit-Branch: main
      Gerrit-Change-Id: I5ae706807dc338dae716d95433b6fb66c6c054f3
      Gerrit-Change-Number: 7762065
      Gerrit-PatchSet: 12
      Gerrit-Owner: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Reviewer: Alex Ovsienko <ovsi...@google.com>
      Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 01:31:18 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages