-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
Migrate Amazon provider package #46498
Conversation
Yeah. Some problems are expected - especially for such huge providers as amazon. This is one of the reasons we did no move all providers at once, because rather than havin 10 people solving those things individually, we would have to have 1 person solving all 100 providers issues at once, we are basically crowd-sourcing problem solving. But I see my role here as help to guide people (and I did that in other providers) how to solve those difficult issues. That's a good learning for everyone as well. Worked so far very well. and I am happy to guide you as well.
Yes. It's known that Seems that pretty much all the problems you see are the same -> the optional part of event is not automatically detected by MyPy now. Why exactly it has not detected it before - I think it's a good question for MyPy creators (basically at this stage we are waiting until But it seems in this case (or at least when I googled it) setting
Unfortunately when This is how sphinx/autoapi works. The errors are likely coming from just a few failing docstring generation by autoapi - likely those last errors are the root cause - those classes are referred to in some docstrings you just need to fin them: If we could 100% migrate all providers, I would not ask others for help, I would just run the scripts myself. Unfortunately, with inter-relations between providers, doc generation and others, automating absolutely all cases would take likely far more effort of one person to track, identify and fix and especially automate those. The premise was that individuals looking at those will do it much faster (and in parallel or at different times) - also that their involvement in helping to move will make it more of a "community" effort. Which pretty much worked so far.
Yep. We are well aware that things are not always fixable for those. There are exclusions in .pre-commit-config.yaml for thsoe. Likely those need to be moved. Like the exclusions should be updated - for example here: https://github.com/apache/airflow/blob/main/.pre-commit-config.yaml#L661 rather than the words removed
I hope we can get it green quickly :) |
I think you need to rebase and resolve conflicts @o-nikolas - in order to trigger tests. BTW. The mypy |
Agreed, I'm already working on the rebase but it's a bit of a nasty one! Lots of stuff touches the amazone provider package 😢 I have a busy day today as well, so I'm only making bits of progress here and there as I have time |
Yeah. Amazon is a beast :) |
9a97eaa
to
62dfec2
Compare
Updates so far:
|
22d2d23
to
b43c4d0
Compare
b43c4d0
to
a2944b5
Compare
That looks way better now :) -> only small/easy things seems to be remaining :) |
Super easy: breeze is just standard Python package with
It's absolutley 100% standard Python project - but just placed in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume the generated RST files are checked-in by accident? I would assume they are created by Sphinx during build from code usually?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep. I just removed it in #46590
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trying to see if I can fix it now :) - those errors seemed easy to fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking it on!
Thanks! I ended up figuring out a similar way of doing it after a little while, accelerated a lot of debugging! |
Closing in favour of #46590 -> that was started from this one |
Provider tests pass but there are many issues (after fixing a handful of failures related to paths being used in tests which needed updating):
1) mypy failures:
Example:
We have a helper
validate_execute_complete_event(event)
to check if the event is None, for this exact reason. Which was working perfectly fine before the migration but is now failing type checking locally for me on all operators.2) docs
There are many _api docs which either seem out of date or have spelling errors that seem to already be fixed. I do not know how to generate these docs. I tried a docs build but that fails because all paths to system test examples are now incorrect. I'm not sure if this is something unique to amazon, or if the migration script failed (there were some issues related to the
aws
directory within theamazon
provider).3) there are many bits of code that have not been static checked for issues of spelling and words like "master". I've fixed most but some are in places that are difficult to change.
^ 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.