Docker assessment - #13331
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #13331 +/- ##
=======================================
Coverage 98.98% 98.98%
=======================================
Files 132 132
Lines 49073 49073
Branches 2553 2553
=======================================
Hits 48576 48576
Misses 373 373
Partials 124 124
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
Merging this PR will not alter performance
Comparing Footnotes
|
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
c693e2f to
1b1e77e
Compare
This PR is committing an MD with the investigation, two dockerfiles and a dockerignore. That dockerfiles are not used anywhere. I believe this is AI slop. It's really fixing a problem? |
Thanks for raising the concern. This PR is a Docker build failure assessment, not a proposal to add or replace aiohttp’s official Docker workflow. The supplied logs show that an externally generated Docker setup fails because it executes the editable installation before initializing the required llhttp submodule. A subsequent attempt gets further but fails because generated C sources such as aiohttp/_websocket/mask.c are unavailable. The added artifacts have distinct purposes:
The remediation was tested directly with: These checks confirm that the image builds successfully, aiohttp imports correctly, and the container runs as a non-root user. aiohttp already has a separate testing Dockerfile under tools/testing; this assessment does not attempt to replace or modify that workflow because the reported failure comes from the external generated Dockerfile shown in the supplied logs. The standalone files are therefore intentional assessment artifacts. I can make this scope more explicit in the PR description so they are not mistaken for an unused production integration. |
|
I think Pablo is right about this being slop at best. Or maybe they're just confused by the concept of cross-repo PRs and experimentation 🤷♂️ |
|
This just keeps happening: #13347. It's like somebody posted the repo in some registry and told people to send nonsense PRs without first learning what contributing actually is… |
What do these changes do?
This pull request reconstructs the Dockerfile shown in the supplied failed build log, documents the root cause, and adds a corrected
fixed.Dockerfilethat builds aiohttp successfully. It also adds a focused.dockerignore, reproducible validation evidence, and updates the Labels workflow so the backport job runs only when a non-bot pull request receives abackport*label.Are there changes in behavior for the user?
There are no aiohttp library or public API behavior changes. Running
docker build -t assessment-fix -f fixed.Dockerfile .creates a non-root, pure-Python aiohttp image whose default command verifies the installed package. In CI, ordinary opened, synchronized, reopened, and unrelated-label events no longer fail the backport-label job; the job runs only when abackport*label is added.Is it a substantial burden for the maintainers to support this?
No. The Docker files are self-contained, and the workflow change is a job-level condition using the existing pull-request event payload. It avoids unnecessary API calls and false failures without changing the backport script's behavior when a backport label is actually added. The image's documented tradeoff is that
AIOHTTP_NO_EXTENSIONS=1disables optional C accelerators for compatibility with the supplied source archive.Related issue number
No separate issue. This change is submitted as pull request #13331.
Checklist
CONTRIBUTORS.txtPiyush Kumar Singhin case-insensitive alphabetical order.CHANGES/folderCHANGES/13331.contrib.rstfor pull request Docker assessment #13331.Validation