The GitHub Actions job "Tests" on airflow.git/backport-0c13265-v3-2-test has 
failed.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
4f8101dea1f5b5679139c1ee13f097c4e987b538 / Kaxil Naik <[email protected]>
[v3-2-test] Fix dev/registry tomllib import on Python 3.10 (#65987)

`dev/registry/extract_versions.py` and `extract_metadata.py` both
`import tomllib` directly. `tomllib` is Python 3.11+ stdlib. uv on
bare CI runners may pick Python 3.10 and the scripts crash on import:

    File "dev/registry/extract_versions.py", line 49, in <module>
        import tomllib
    ModuleNotFoundError: No module named 'tomllib'

Failure observed in `Registry Backfill` workflow run 25028614525 -- every
backfill job fails before extracting any data.

The bug was latent: previously `breeze registry backfill` invoked
`uv run python ...` from the airflow workspace root (without
`--project dev/registry`), so uv used the airflow workspace's pyproject
to resolve Python. After #65972 landed `--project dev/registry`, uv
started honouring this pyproject's constraint specifically, and CI
runners with Python 3.10 as default started picking it.

This adds the standard `tomli` fallback to both scripts and declares
`tomli` as a runtime dep on Python <3.11. The `[build-system].requires`
already conditionally pulled `tomli`, but it wasn't a runtime dep so
the scripts couldn't actually use it -- this PR adds it where it
belongs (under `[project].dependencies`).

The alternative -- bumping `requires-python` to `>=3.11` -- breaks the
airflow workspace sync on the 3.10 CI image build, since uv refuses
to mix Python versions across workspace members.
(cherry picked from commit 0c1326535d16b824748b9c9c01a1b05e8538967f)

Co-authored-by: Kaxil Naik <[email protected]>

Report URL: https://github.com/apache/airflow/actions/runs/25220113653

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to