kaxil opened a new pull request, #66137: URL: https://github.com/apache/airflow/pull/66137
## Summary After #66100 (#1305 fix), `registry-build.yml` now fires on every wave-release dispatch. `aws s3 sync` exits 0 silently when its source directory is missing or empty, so a partial `breeze registry extract-data` failure (one provider errors mid-run, Eleventy still produces a tree, sync uploads stale or empty JSON) would currently report green while leaving the live registry in an inconsistent state. ## Fix Mirror the per-provider guards that [`registry-backfill.yml` got in #66027](https://github.com/apache/airflow/blob/main/.github/workflows/registry-backfill.yml#L248-L268). The new "Verify build emitted expected content" step sits between artifact upload and the S3 sync, and: - **Incremental** (`PROVIDER` set): for each target provider ID, assert `registry/_site/providers/<id>/`, `registry/_site/api/providers/<id>/`, and `registry/_site/api/providers/<id>/versions.json` exist and are non-empty. `versions.json` is the canonical per-provider artifact (drives the version-dropdown). - **Full build** (`PROVIDER` empty): assert top-level `registry/_site/index.html`, `registry/_site/api/providers.json` (the global listing), and at least one provider subtree under `registry/_site/api/providers/` are present. Any missing artifact aborts with `::error::` before `aws s3 sync` is invoked. ## Why this matters now Before #66100 this path only fired on explicit per-provider doc dispatches, where a single failed provider mostly meant nothing got synced (loud failure). With wave dispatches now driving the incremental path automatically, a partial extract over ~22 providers would silently upload a hole-y registry to live S3 and the only signal would be users hitting 404s. ## Verification - `prek run yamllint`: pass - `prek run zizmor` (workflow security): pass - Standalone `actionlint`: zero net-new findings vs. main - Hand-walked the guard on three input shapes: 22-provider wave (incremental), single explicit dispatch (incremental), full rebuild against `main` (full). --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes -- Claude Code (Opus 4.7) Generated-by: Claude Code (Opus 4.7) 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]
