Repository navigation
chore(deps): update dependency python to v3.15.0 (.github/workflows/test-helm-chart.yml) - #16343
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/python-3.x
branch
2 times, most recently
from
October 15, 2026 15:53
ea2ca4c to
ddd0d97
Compare
Maffooch
reviewed
Oct 17, 2026
Maffooch
left a comment
Contributor
There was a problem hiding this comment.
Adversarial review: chore(deps): update dependency python to v3.15.0 (.github/workflows/test-helm-chart.yml)
Verdict: request-changes
Reviewed at: ddd0d97 Profile: dependency-bump
Repo rules followed: origin/dev .claude/skills/review-pr/SKILL.md (points to .claude/skills/defectdojo-dev/SKILL.md step 7), plus the generic review-pr skill
The django image no longer builds on amd64. On Python 3.15, isal (pulled in by vulners==4.3.0) has no wheel. It has to build from source, and that needs nasm, which neither build stage installs. The required check Unit Tests Complete is red because of this.
Attempts to break it
- Required CI. Read run 38764255960.
Build Docker Images (django, debian, linux/amd64)failed atpip3 wheel -r requirements.txtwithmake: nasm: No such file or directory, thenFailed to build isal. The alpine django and nginx builds were cancelled when it failed, so they never finished.Unit Tests Completeis red (success success failure skipped ...). The last three dev merge-group runs (38981711947, 38980988227, 38980835504) built all four django images green on 3.14.8, so this is not a base artifact. blocker - Every pinned dependency has 3.15 wheels or builds. Pulled every distribution the CI build resolved on 3.15 debian amd64 (130 files, from the job log). Ten came down as sdists: brotli 1.2.0, cpe 1.3.1, isal 1.8.0, psycopg-c 3.3.6, PyYAML 6.0.3, stream-inflate 0.0.43, stream-unzip 0.0.101, titlecase 2.4.1, uWSGI 2.0.31, zstandard 0.25.0. Checked PyPI for each one. psycopg-c, uWSGI, cpe and titlecase ship no wheels on any Python, so 3.14 builds them from source too. isal, brotli, zstandard, PyYAML, stream-inflate and stream-unzip publish wheels up to cp314 only. Those six move from wheels to source builds with this PR. All of them are already the latest release on PyPI, so no newer pin fixes it. The other 15 compiled packages (cryptography, lxml, pydantic_core, orjson, pillow and so on) all have cp315 or abi3 wheels for manylinux and musllinux on x86_64 and aarch64. The one exception is pycurl, which has no musllinux wheel, but that is also true on cp314. blocker for isal. The others build.
- Reproduced the isal failure and the fix. Built
isal==1.8.0onpython:3.15.0-alpine3.23(linux/amd64, pinned digest). With onlybuild-base, it fails withmake: nasm: No such file or directory. Withbuild-base nasmadded, it buildsisal-1.8.0-cp315-cp315-linux_x86_64.whl. The same thing onpython:3.15.0-slim-trixieamd64 withbuild-essential nasmalso built the wheel. So alpine amd64 fails the same way debian does. The fix is to addnasmto the build stage ofDockerfile.django-debian,Dockerfile.django-alpineandDockerfile.nginx-alpine. Another option is to wait for isal to publish cp315 wheels. blocker - arm64. Built the
buildstage ofDockerfile.django-alpineandDockerfile.django-debiannatively on linux/arm64 from the PR head. Both finished (exit=0). All eleven and ten sdists built, isal included, because isal's aarch64 code does not use nasm. Green arm64 does not cover amd64. no break on arm64 - Image digests are pinned and match.
docker buildx imagetools inspectresolvespython:3.15.0-alpine3.23tosha256:70ba88b1...74c2andpython:3.15.0-slim-trixietosha256:f48fda6d...1619. Both are exactly the digests in the diff. Both are multi-arch indexes with linux/amd64 and linux/arm64/v8. The old 3.14.8 digests also match their tags. The alpine digest is used in both alpine Dockerfiles, and the debian digest in both debian Dockerfiles. no break - Workflow change.
test-helm-chart.yml:32now askssetup-pythonfor3.15. TheLint chart (version)job log shows it downloadedpython-3.15.0-linux-24.04-x64from actions/python-versions, and the job passed. The action pin (5fda3b95..., v7.0.0) did not change. no break - Runtime support.
Django==5.2.17(requirements.txt:24) lists classifiers up to Python 3.14 on PyPI. 3.15 is not a declared supported version. Grepped the repo for APIs removed in 3.15 (CGIHTTPRequestHandler, no_type_check_decorator, getdefaultlocale, sre_*, java_ver). No hits. The test suite never ran on 3.15 because the image build failed, so runtime behavior is untested. follow-up: run the full suite once the image builds. - Diff is only the stated bump. Five files, five one-line changes, all
3.14.8to3.15.0(or3.14to3.15). No requirement changes.Dockerfile.integration-tests-debianonly pip-installs selenium and requests, so it is not affected, and its CI build passed. no break
Blocking
Dockerfile.django-debian:8,Dockerfile.django-alpine:8,Dockerfile.nginx-alpine:8: moving to 3.15 forces a source build ofisal1.8.0 (fromvulners==4.3.0,requirements.txt:68). On amd64 that build needsnasm, and the build stages do not install it. The amd64 image build fails and the requiredUnit Tests Completecheck is red. Addnasmto the build-stage package lists (apt inDockerfile.django-debian:14-24, apk inDockerfile.django-alpine:14-27and the matching block inDockerfile.nginx-alpine), or hold the bump until isal ships cp315 wheels.
Nice to have
- Five more packages (brotli, zstandard, PyYAML, stream-inflate, stream-unzip) now compile from source on every image build, which makes builds slower. In the native arm64 build-stage run the whole wheel step took about 20 to 28 minutes, with uWSGI taking the longest. That is acceptable, but consider pinning the image to 3.14 until upstream wheels land.
- Django 5.2 does not declare 3.15 support. Check the upgrade plan before shipping it in a release image.
- The PR has no milestone. The repo checklist expects the earliest open future milestone.
Verified hands-on
- Image digests against the registry (
docker buildx imagetools inspect). isal==1.8.0build on 3.15 amd64: fails without nasm on alpine, builds with nasm on alpine and debian.- Build stage of
Dockerfile.django-alpineandDockerfile.django-debianon linux/arm64 from the PR head: both pass. - Wheel availability for every resolved compiled package, checked against PyPI JSON.
Checked only statically
- Full amd64 image build failure (CI log of run 38764255960, not rebuilt locally end to end).
- Python 3.15 API removals (grep only).
- The workflow change (CI job log).
Still needs verification
- Full unit test suite, REST tests and k8s tests on a 3.15 image once it builds.
- The nginx-alpine amd64 build was cancelled in CI. It runs the same
pip3 wheelstep, so it is expected to fail the same way (not run end to end).
renovate
Bot
force-pushed
the
renovate/python-3.x
branch
from
October 17, 2026 04:33
ddd0d97 to
27df032
Compare
…est-helm-chart.yml)
renovate
Bot
force-pushed
the
renovate/python-3.x
branch
from
October 17, 2026 16:03
27df032 to
e61a911
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.14→3.153.14.8-alpine3.23→3.15.0-alpine3.233.14.8-slim-trixie→3.15.0-slim-trixie3.14.8-alpine3.23→3.15.0-alpine3.23Release Notes
actions/python-versions (python)
v3.15.0: 3.15.0Compare Source
Python 3.15.0
Configuration
📅 Schedule: (UTC)
* * * * 3)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.