Skip to content
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

Prepare FAB provider to set next version as major version #43939

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

vincbeck
Copy link
Contributor

Prepare the provider to set its next version as major version. I also set the state of the provider as non-ready because we should not release the provider next major version before Airflow 3 release timeframe.


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

@vincbeck
Copy link
Contributor Author

I need to work on the tests since it seems that setting the state of an already installed provider from ready to non-ready is not that trivial

@eladkal
Copy link
Contributor

eladkal commented Nov 13, 2024

I need to work on the tests since it seems that setting the state of an already installed provider from ready to non-ready is not that trivial

I dont think this is right approch. We may still release 1.x versions. For example if we find security risk.
Provider should stay in ready state.
Also, we are going to have airflow 3 alpha/beta which might need also alpha/beta of the provider

I can simply skip its release manually if needed.

@potiuk
Copy link
Member

potiuk commented Nov 13, 2024

Yeah. Let's keep it ready - agree. It should have apache-airflow>=3.0.0dev0 as min version - so no-one will install it and as Elad wrote - we can skip it when preparing, or if it becomes a problem we can add a new state for it

@vincbeck
Copy link
Contributor Author

Sounds good!

@vincbeck vincbeck force-pushed the vincbeck/fab-major branch 2 times, most recently from 5e14896 to 2e0def4 Compare November 13, 2024 15:56
@vincbeck
Copy link
Contributor Author

The compat tests are failing because Airflow 2.9 and 2.10 tries to install the latest fab provider that is only compatible with Airflow 3. In hatch_build, the fab provider constraint is fab>=1.0.2. How can we solve that? Should we, somehow, update this constraint to fab>=1.0.2<=2.0.0 for Airflow 2.9 and 2.10?

@vincbeck
Copy link
Contributor Author

Or should uv figure it out on its own?

@potiuk
Copy link
Member

potiuk commented Nov 13, 2024

Or should uv figure it out on its own?

I think we will have to simply skip fab provider for Airflow 2.9 and 2.10. That should do the job. It will be installing applicable FAB from PyPI then

@potiuk
Copy link
Member

potiuk commented Nov 13, 2024

In global_constants.py in Breeze:

BASE_PROVIDERS_COMPATIBILITY_CHECKS: list[dict[str, str | list[str]]] = [
    {
        "python-version": "3.9",
        "airflow-version": "2.8.4",
        "remove-providers": "cloudant fab edge",
        "run-tests": "true",
    },
    {
        "python-version": "3.9",
        "airflow-version": "2.9.3",
        "remove-providers": "cloudant edge",
        "run-tests": "true",
    },
    {
        "python-version": "3.9",
        "airflow-version": "2.10.3",
        "remove-providers": "cloudant",
        "run-tests": "true",
    },
]

@vincbeck
Copy link
Contributor Author

Or should uv figure it out on its own?

I think we will have to simply skip fab provider for Airflow 2.9 and 2.10. That should do the job. It will be installing applicable FAB from PyPI then

Makes sense. Thank you!

@vincbeck
Copy link
Contributor Author

All tests are passing!

Copy link
Contributor

@eladkal eladkal left a comment

Choose a reason for hiding this comment

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

Temporary block to avoid merge

Lets wait with this after we finish current wave of providers. If we merge this PR we wont be able to make rc2.

After provider wave is finished we can dismiss this block and merge

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