potiuk opened a new pull request, #76179:
URL: https://github.com/apache/airflow/pull/76179

   `TestDockerDecorator::test_basic_docker_operator` failed intermittently with 
`Timeout >60.0s` in the lowest-dependencies providers job (for example 
https://github.com/apache/airflow/actions/runs/41233228877/job/124633951313), 
while the rest of the module passed. On a fresh runner, whichever test of the 
module runs a container first has to pull `python:3.9-slim` (13s in that run) 
and start the first container on a cold Docker daemon (31s). Together with the 
task start-up, that exceeded the 60s execution timeout.
   
   A module-scoped `warm_up_docker` fixture now pulls the image and runs one 
throwaway container, so that one-time cost counts against the 180s setup 
timeout instead. Only the tests that actually run containers request it, so the 
tests that just build Dags or operators still run without Docker. The image 
name is now a single `PYTHON_IMAGE` constant, so the fixture warms exactly the 
image the tests use.
   
   Checked locally with the image removed first (`docker rmi python:3.9-slim`): 
the whole module passes (38 passed, 2 skipped) through `breeze run pytest ... 
--setup-timeout=180 --execution-timeout=60 --timeouts-order=moi`, the timeouts 
CI uses. That run had the fixture applied to every test; it was narrowed to the 
container-running tests afterwards.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5)
   
   Generated-by: Claude Code (Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to