potiuk opened a new pull request, #70959:
URL: https://github.com/apache/airflow/pull/70959
Publishing the provider docs has failed since 2026-07-28. `build-ci-image`
builds **one** image and both `build-docs` and `update-registry` consume it, so
they share its Python. It is built at 3.12 because that is what the registry
has always extracted on — which silently moved the docs build onto 3.12 too.
The last green run built with no `--python` flag; every run since passes
`--python 3.12`. Nothing in the repo caused it: only four commits sit between
the last green and the first red run (INTHEWILD.md, a secrets-backend change, a
UI toggle, Helm docs).
Two things break there, and both go away on the default Python:
- **Providers fail to import.** Sphinx mocks third-party modules via
`autodoc_mock_imports`, and from 3.12 `functools` copies `__type_params__`, for
which a mock returns another mock rather than a tuple. `SambaHook` decorates
all 24 of its methods with `functools.wraps(smbclient.…)`, so the module dies
at class-definition time and the provider cannot be documented at all.
Reproduces identically on Sphinx 8.2.3, 9.0.4 and 9.1.0, so it is not a Sphinx
regression.
- **Thirteen cross-reference ambiguities** in `amazon`, `google` and
`openlineage` that were not reported before.
### The change
`ci-image-build.yml` already matrixes over the `python-versions` it is
handed, and **every** cache it touches is keyed by Python version — the
registry buildx tag (`…/ci/python{version}:cache-linux-amd64`), the image
stash, the commit marker and the BuildKit mount cache. Passing it both versions
therefore builds the two images in parallel, each seeding from and storing to
its own cache, with no eviction between them and no second job.
Docs return to the default Python (3.10); the registry stays on 3.12.
Stashes are also now keyed `release-build-<ref>` rather than the bare ref,
so these images — built from a release tag and retained for days so the next
publish of the same tag reuses them — stop sharing a key with anything else
stashing an image for that ref.
---
##### 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)
--
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]