-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move config related to FAB auth manager to FAB provider #36232
Conversation
1c961a0
to
97cd99b
Compare
Let's see :) |
Yeah. That's the thing. This is what happens:
The
If you unfold the commands running the spellcheck you will find this:
This means that before spellchecking start, the "current" inventory from s3 is fatched. This is the "inventory" of FAB provider that we pushed to s3 when it was built last time successfully in our
In this case what SHOULD happen - we should rebuild all the packages and only THEN run spellchecking. That will first build all the packages and then, when we got them locally built, they will be used instead of inventory (and in this case, the Looking at the output, I believe the 2nd psss did not happen at all. Possibly (without looking at the code) the 2nd pass is not currently executed at all when we have spellcheck only case ? Which I guess is logical, because you can't fix anything when you run spellcheck-only |
I guessed correctly: to_retry_packages = [
package_name
for package_name, errors in package_build_errors.items()
if any(any((m in e.message) for m in ERRORS_ELIGIBLE_TO_REBUILD) for e in errors)
] this list of And anyhow it would not work because if there are package spelling errors and the flag So I'd say smthing like that should work: In
|
And then of course you should revert passing the "spellcheck_only" flag to use the original flag. We need tht in order to find out what mode the original build was called with. |
It worked locally :) Let's see! |
It does look like it could work :D. And we will see it in the job output as well. |
Arggg ... It is failing :| |
OK. I think the problem is that spell-checking does not properly detect "build" errors. I saw it in the past that when spelling fails with build errors, there is no "actual" error printed. It's because it does: spelling_errors.extend(parse_spelling_warnings(warning_text, self._src_dir)) and it does not do: spelling_errors.extend(parse_sphinx_warnings(warning_text, self._src_dir)) So the "unknown document: 'apache-airflow-providers-fab:configurations-ref'" is not added as "SpellingError" because it is not detected by "parse_spelling_warnings". I thing the all_spelling_errors: dict[str, list[SpellingError]] = defaultdict(list) should be changed to: all_spelling_errors: dict[str, list[SpellingError|DocBuildError]] = defaultdict(list) (plus of course all the consequences) and both spelling and doc build errors should be parsed and added there. That should not only fix the problem but improve the output of "--spell-check-only" when there is a build error (and not actual spelling error) |
actually... I think better and simpler solution will be to add:
in |
Ah... I was also wondering WHY it was running so long - and I see you added |
Yeah jobs were not getting picked up for at least an hour so I went with the public runners |
Strange. I see jobs being picked up now.. Maybe something temporary |
🎉 SUCCESS except the MSSQL failure that is 🙀 |
Spellcheck is failing in self hosted runner but succeeding in public runners ... Interesting ... I'll try again with public runners |
Hmmmm.... That's .... Interesting. Bigger parallelism ? |
BTW. It's a bit worrying that it fails on self-hosted - eventually this build should succed in main - because that is how inventories will get pushed to S3, so if it fails on self-hosted, merging it is risky. |
Believe it or not - but I think the failure on self-hosted runners was accidental
This is not a "doc-build" failure. It usually indicates that something was wrong on the machine ... |
So ... I'd try to remove |
I thought the issue was because we had in-flights doc changes (referencing doc not merged yet). To me, once merged there will be no issue. Am I wrong? |
Nope. This is because there are changes in several packages in the same PR and those packages refer to each other.
Once merged AND doc build succedds AND inventories are pushed to S3 (which only happens in canary main build which runs after merge. |
But yeah. Just realized that in this case doc build always succeds, it's the spellcheck that is wrong - so in fact it does not matter if spellcheck fails or not ... |
Greeeeeeennnnnnn!!! 🥳 |
🎉🎉🎉🎉 |
:WOOOOHOOO! |
Some config is now used only by the new fab provider. Thus, we should move this config to the provider
See #32210.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rst
or{issue_number}.significant.rst
, in newsfragments.