Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: upgrade setuptools to 79.0.1 in python-samples-testing-docker#13468

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
parthea wants to merge6 commits intomain
base:main
Choose a base branch
Loading
frompython-samples-upgrade-setuptools

Conversation

parthea
Copy link
Collaborator

Description

Fixes b/424659470

Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.

Checklist

This PR is similar togoogleapis/testing-infra-docker#488 which upgraded setuptools inpython-base, as well asgoogleapis/testing-infra-docker#490 which upgraded setuptools inpython-multi

This PR includes the following fixes

  • removespython3-setuptools to address b/424659470
  • updates Python runtimes to the latest available versions
  • upgradessetuptools to 79.0.1 to address b/424659470
  • removessetuptools for Python 3.7/3.8 which are not supported runtimes insetuptools==79.0.1
  • updatepip to23.1.2 to match what we have inpython-base
  • updategcloud version to 528.0.0 and upgradegcloud python to 3.12

@partheaparthea requested review froma team ascode ownersJune 29, 2025 14:46
@product-auto-labelproduct-auto-labelbot added the samplesIssues that are directly related to samples. labelJun 29, 2025
Copy link
Contributor

@gemini-code-assistgemini-code-assistbot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello@parthea, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on enhancing the security and maintainability of thepython-samples-testing-docker image by addressing asetuptools vulnerability. It involves comprehensive updates to Python runtime versions,pip, and the Google Cloud SDK, ensuring the testing environment remains current and robust.

Highlights

  • Setuptools Security Fix and Upgrade: I've upgradedsetuptools to version 79.0.1 to address a reported vulnerability (b/424659470). This involved removing the system-widepython3-setuptools package viaapt, explicitly uninstallingsetuptools for older, unsupported Python versions (2.7, 3.7, 3.8), and then installing the updated version for Python 3.9 and newer using newly introducedrequirements.in andrequirements.txt files.
  • Python Runtime Version Updates: All specified Python runtime versions within the Docker image have been updated to their latest patch releases (e.g., 3.9.20 to 3.9.23, 3.10.15 to 3.10.18, 3.11.10 to 3.11.13, 3.12.7 to 3.12.11, 3.13.0 to 3.13.5), ensuring the testing environment uses up-to-date interpreters.
  • Dependency Version Bumps: Thepip version has been updated from 21.3.1 to 23.1.2, and the Google Cloud SDK version has been bumped from 502.0.0 to 528.0.0. Additionally, theCLOUDSDK_PYTHON environment variable has been updated to usepython3.12 for the Google Cloud SDK.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on ourdocumentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either/gemini <command> or@gemini-code-assist <command>. Below is a summary of the supported commands.

FeatureCommandDescription
Code Review/gemini reviewPerforms a code review for the current pull request in its current state.
Pull Request Summary/gemini summaryProvides a summary of the current pull request in its current state.
Comment@gemini-code-assistResponds in comments when explicitly tagged, both in issue comments and review comments.
Help/gemini helpDisplays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a.gemini/ folder in the base of the repository. Detailed instructions can be foundhere.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on@gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with theGemini Code Assist IDE Extension.

Footnotes

  1. Review thePrivacy Notices,Generative AI Prohibited Use Policy,Terms of Service, and learn how to configure Gemini Code Assist in GitHubhere. Gemini can make mistakes, so double check it anduse code with caution.

Copy link
Contributor

@gemini-code-assistgemini-code-assistbot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates dependencies in the Dockerfile, including Python runtimes, pip, and setuptools, to address a security vulnerability. The introduction ofrequirements.in and a pinnedrequirements.txt improves dependency management. The review focuses on Dockerfile best practices to enhance efficiency and maintainability.

@@ -65,6 +65,7 @@ RUN apt-get update \
uuid-dev \
wget \
zlib1g-dev \
&& apt remove -y python3-setuptools \
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Consider usingapt-get instead ofapt for package management.apt-get is more script-friendly and its behavior is more predictable in automated environments like Dockerfiles.

  && apt-get remove -y python3-setuptools \

parthea reacted with thumbs up emoji
Comment on lines 169 to 170
RUN rm /tmp/get-pip-3-8.py
RUN rm /tmp/get-pip-3-7.py
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Combine theserm commands into a singleRUN instruction to reduce the number of layers in the Docker image, optimizing its size.

RUN rm /tmp/get-pip.py /tmp/get-pip-3-8.py /tmp/get-pip-3-7.py

parthea reacted with thumbs up emoji
Comment on lines 203 to 204
-r /requirements.txt \
; done
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Remove the temporary file/requirements.txt in the sameRUN layer where it's used to avoid creating an extra layer and reduce the image size.

  ; done && rm /requirements.txt

parthea reacted with thumbs up emoji
@partheaparthea added kokoro:force-runAdd this label to force Kokoro to re-run the tests. kokoro:runAdd this label to force Kokoro to re-run the tests. labelsJun 29, 2025
@kokoro-teamkokoro-team removed kokoro:runAdd this label to force Kokoro to re-run the tests. kokoro:force-runAdd this label to force Kokoro to re-run the tests. labelsJun 29, 2025
Copy link
Contributor

@glasntglasnt left a comment

Choose a reason for hiding this comment

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

In theory this change looks correct, but we should wait for unit tests to complete, and also (if possible) testing the updates in a built image. And/or merging this PR and fast-following with re-trying a PR with the new image and confirming all the checks successfully run.

@glasntglasnt added the kokoro:force-runAdd this label to force Kokoro to re-run the tests. labelJul 3, 2025
@kokoro-teamkokoro-team removed the kokoro:force-runAdd this label to force Kokoro to re-run the tests. labelJul 3, 2025
@partheaparthea added the do not mergeIndicates a pull request not ready for merge, due to either quality or timing. labelJul 3, 2025
@partheaparthea self-assigned thisJul 3, 2025
@partheaparthea added status: investigatingThe issue is under investigation, which is determined to be non-trivial. kokoro:force-runAdd this label to force Kokoro to re-run the tests. kokoro:runAdd this label to force Kokoro to re-run the tests. labelsJul 3, 2025
@kokoro-teamkokoro-team removed kokoro:runAdd this label to force Kokoro to re-run the tests. kokoro:force-runAdd this label to force Kokoro to re-run the tests. labelsJul 4, 2025
@partheaparthea marked this pull request as draftJuly 5, 2025 12:34
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@gemini-code-assistgemini-code-assist[bot]gemini-code-assist[bot] left review comments

@glasntglasntglasnt approved these changes

Assignees

@partheaparthea

Labels
do not mergeIndicates a pull request not ready for merge, due to either quality or timing.samplesIssues that are directly related to samples.status: investigatingThe issue is under investigation, which is determined to be non-trivial.
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@parthea@glasnt@kokoro-team

[8]ページ先頭

©2009-2025 Movatter.jp