chore: Bump Python to 3.11.13 in python connector base image#62909
Conversation
…o 3.11.13 - Add PYTHON_3_11_13 definition to root_images.py - Update AirbytePythonConnectorBaseImage to use Python 3.11.13 - Fix poppler-utils package version compatibility (22.12.0-2+b1 -> 22.12.0-2+deb12u1) - Update Dockerfile.python-connector-base with new Python version and SHA256 - Update documentation template changelog entry - Update test expectations for new Python version This addresses a security vulnerability in Python 3.11.11. Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
The changelog section is for airbyte-ci base images tool versions, not Python connector base image versions. Reverting the accidental change to maintain historical accuracy. Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
- Integrate poetry run generate-release changes - Resolve conflict by accepting removal of incorrect ### 1.6.0 changelog section - The changelog section is for airbyte-ci base images tool versions, not Python connector versions Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
👋 Greetings, Contributor!Here are some helpful tips and reminders for your convenience. Helpful Resources
PR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
|
| ## CHANGELOG | ||
|
|
||
| ### 1.6.0 | ||
| - Add a Python base image 4.0.0 with Python 3.11.11. |
There was a problem hiding this comment.
This was added by mistake for the last python base image release. I believe this changelog refers to versions of the airbyte ci base images tool
|
|
||
| container = container.with_exec( | ||
| ["sh", "-c", "apt-get update && apt-get install -y tesseract-ocr=5.3.0-2 poppler-utils=22.12.0-2+b1"] | ||
| ["sh", "-c", "apt-get update && apt-get install -y tesseract-ocr=5.3.0-2 poppler-utils=22.12.0-2+deb12u1"] |
There was a problem hiding this comment.
where does ths tag come from?
There was a problem hiding this comment.
so a while ago I was working on reproducing the base image build process from AirbyteCI in a Dockerfile (docker-images/Dockerfile.python-connector-base) as part of patching a vulnerability. For some reason the poppler-utils version defined within airbyte-ci was not found for install when building the Dockerfile, so I used this version instead.
PR link: #60820
There was a problem hiding this comment.
The version was never backported to the AirbyteCI base image build process though
Brian Lai (brianjlai)
left a comment
There was a problem hiding this comment.
for posterity after david and I synced briefly:
I was a bit confused or just generally unaware of the process of how a new version of the python-connector-base image gets published to Dockerhub so that it can be referenced where we build the source-declarative-manifest.
Sounds like the GH workflow is this:
https://github.com/airbytehq/airbyte/actions/workflows/docker-connector-image-publishing.yml
Looking things over, changes seem reasonable, but I don't have a ton of context into this part of our code. ✅
…nector-base-image-3.11.13' into dbgold17/python-connector-base-image-3.11.13
|
What
Publishes a new Python Connector Base Image version using 3.11.13 to resolve security vulnerabilities
publishing the new image as
docker.io/airbyte/python-connector-base:4.0.2because I noticed we already have a 4.0.1 referenced by source-s3resolves https://github.com/airbytehq/oncall/issues/8316
How
For now, we define the python connector base image in 2 places:
docker-images/Dockerfile.python-connector-baseas a DockerfileI've updated both to use Python 3.11.13 and tried to keep them in sync although I then proceeded to ignore the AirbyteCI process for building the base image.
I manually published a release candidate of the new python connector base image using the Docker Image Publishing manual dispatch workflow: link
I tested that this new version worked with a handful of python connectors locally -
source-s3,source-github,source-google-ads,source-facebook-marketing,source-salesforce(in addition to the automated tests that run on this PR: link)The process for testing python connectors against a new base image locally is:
airbyte-cdk secrets fetchto make sure you have the connector's test config files locallyairbyte-cdk image testto build a docker image for the connector on top of the specified base image and run a suite of FAST tests using it.I then also manually tested some manifest-only connectors by creating a release candidate of the SDM base image (link to PR)
Once ready to release, publish a version of the image without a
-rc.#suffix using the same manual dispatch GH workflow (link)Other notes
To generate the local json file registry and changelog used by airbyte-ci, follow the instructions in this README. I was unable to succesfully use AirbyteCI to build and publish to dockerhub with any creds I could find.
Can this PR be safely reverted and rolled back?