Skip to content

Fix provider.yaml doc URL check with several suspended providers - #73782

Merged
potiuk merged 1 commit into
apache:mainfrom
rjgoyln:fix/suspended-provider-doc-url-filter
Sep 27, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
rjgoyln:fix/suspended-provider-doc-url-filter

Conversation

@rjgoyln

@rjgoyln rjgoyln commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Continues #73204.

Summary

Both suspended-provider filters in the provider.yaml check are nested-for comprehensions, so they keep an entry when any suspended provider fails to match it rather than when none do. Suspend two providers at once and each one's doc URLs survive, because the other suspended provider is absent from them — the check then reports them as missing from provider.yaml and fails on docs it was meant to ignore.

The error filter has the same shape, and additionally repeats every unrelated error once per suspended provider.

The cross product is accidentally correct for a single suspended provider, the only configuration the check has ever run with. With none suspended it emptied the set instead — what the two guards were covering for.

Change

  • Match every suspended provider against an entry rather than any one of them.
  • Move both filters to scripts/in_container/provider_suspension.py so they can be tested.
  • Cover zero, one and several suspended providers in the tests.

The filters moved because the check script refuses to be imported as a module; behaviour for a single suspended provider is unchanged.

Compatibility

Matching stays substring-based: suspending apache-airflow-providers-git would also strip the apache-airflow-providers-github docs, as it does today. Narrowing it to the /docs/<package-name>/ prefix is a separate change.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5)

Generated-by: Claude Code (Opus 5) following the guidelines

@potiuk potiuk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch ! We never had 2 suspended providers :)

@potiuk
potiuk force-pushed the fix/suspended-provider-doc-url-filter branch from f2a2c6b to ba38531 Compare September 27, 2026 12:37
@henry3260

Copy link
Copy Markdown
Contributor

CI failed

Both suspended-provider filters in the check cross-multiply their inputs, so
an entry survives whenever it fails to match any single suspended provider.
The check has only ever run with zero or one suspended provider, where that
reading is accidentally correct, so suspending a second one would fail the
check on the suspended providers' own documentation and report unrelated
errors once per suspended provider.
@potiuk
potiuk force-pushed the fix/suspended-provider-doc-url-filter branch from ba38531 to 40d6454 Compare September 27, 2026 18:37
@potiuk
potiuk merged commit 23c6e77 into apache:main Sep 27, 2026
155 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport failed to create: v3-3-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
❌ v3-3-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 23c6e77 v3-3-test

This should apply the commit to the v3-3-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants