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

   The live registry has a page for [`common-dataquality` 
0.1.0](https://airflow.apache.org/registry/providers/common-dataquality/0.1.0/),
 a provider that is `state: not-ready` and has never been released.
   
   `extract_metadata.py` already has a filter for this. It keeps only versions 
that have a `providers-<id>/<version>` git tag, and falls back to every version 
in `provider.yaml` when it finds no tags at all. `breeze registry extract-data` 
ran it inside the breeze container, which does not mount `.git`, so `git tag` 
failed there and the filter was off in every CI build. The 2026-09-29 live 
build logged `Warning: no providers-* git tags found; phantom version filter is 
disabled` and uploaded the page.
   
   - `breeze registry extract-data` now runs `extract_metadata.py` on the host 
with `uv run --project dev/registry`, the same way `breeze registry backfill` 
already runs `extract_versions.py`. The script needs only `dev/registry`'s 
dependencies, and the host checkout has the tags. `extract_parameters.py` and 
`extract_connections.py` still run in the container and read the 
`providers.json` it writes under `dev/registry/`.
   - `extract_metadata.py` skips `state: not-ready` providers unless 
`--allow-unreleased` is passed, the same way breeze's release tooling leaves 
them out.
   - `registry-build.yml` fails a live build when the checkout has no 
`providers-*` tags, rather than publishing every version. Staging builds pass 
`--allow-unreleased` and are unaffected. A local run without tags (a fork 
without the upstream tags) still warns and keeps every version, so local 
previews work as before.
   
   **Why the host rather than mounting `.git` into the container.** The mount 
list is shared by every breeze command, and `extract_metadata.py` does not need 
anything the container provides.
   
   ## Gotchas
   
   - With the filter now running, a full live build from a branch tip while a 
provider sits between RC and final (`provider.yaml` lists 1.1.0 but only 1.0.0 
is tagged) renders that branch's code on the 1.0.0 page and overwrites it. 
Builds triggered by a docs publish are not affected: they check out the release 
ref being published. Manual `live` dispatches without a `checkout-ref` are.
   - The pages already published for `common-dataquality` have to be removed 
from the bucket by hand, since the S3 sync never deletes. A full live build 
after this merges drops it from `providers.json` and the listing.
   


-- 
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