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

Update supported versions matrix #137

Merged
merged 13 commits into from
Jul 5, 2024

Conversation

millin
Copy link
Contributor

@millin millin commented Jun 25, 2024

fixes #134
fixes #135

@millin millin changed the title Update supported versions matrix Draft: Update supported versions matrix Jun 26, 2024
Comment on lines 30 to +33
airflow-version:
- '2.7.2'
- '2.6.3'
- '2.5.3'
- '2.4.3'
- '2.9.2'
- '2.8.4'
- '2.7.3'
Copy link
Owner

@tomasfarias tomasfarias Jun 29, 2024

Choose a reason for hiding this comment

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

We'll probably want a policy for Airflow version support.

For Python versions it's easy: We aim to support whatever dbt supports, which currently has only a >=3.8. restriction.

For Airflow, I'd say we definitely want to test against latest official minor version (2.9.x), and ideally also latest MWAA-supported version (2.8.1). Astronomer supports new Airflow versions pretty much as soon as they come out, so we are covered there already.

Any other hosted service we should consider prioritizing? If not, I'd consider just supporting 2.9 and 2.8.1 here. There is a tradeoff between as much support as possible and CI times and dependency resolution. So, I'd try to keep the number of "tested" supported versions as small as possible, to avoid the test matrix exploding too much.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would like to support Airflow 2.7.x as it is still in use by Cloud Composer

Copy link
Owner

Choose a reason for hiding this comment

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

Do you mind mentioning in the docs?

We mention testing against latest MWAA version in https://github.com/tomasfarias/airflow-dbt-python/blob/master/docs/development.rst?plain=1#L40, so we could extend that with a few extra words: "... latest version available in AWS MWAA and in Cloud Composer" + a link to the Cloud composer docs.

Comment on lines 34 to 36
dbt-version:
- 1.8
- 1.7
Copy link
Owner

Choose a reason for hiding this comment

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

2 latest dbt versions is a fair policy 👍

@tomasfarias
Copy link
Owner

Tried testing locally, but it seems like some new flags need to be supported starting with dbt 1.7, and user_config parameter has been removed from Profile. I managed to get some tests to pass by adding the following flags in utils/config.py:

        flags_dict["PARTIAL_PARSE_FILE_DIFF"] = self.partial_parse_file_diff
        flags_dict["USE_EXPERIMENTAL_PARSER"] = self.use_experimental_parser
        flags_dict["CACHE_SELECTED_ONLY"] = self.cache_selected_only
        flags_dict["PARTIAL_PARSE_FILE_PATH"] = self.partial_parse_file_path

(And also the corresponding class attributes)

As well as dropping user_config=user_config when calling from_raw_profile_info.

Dag tests (tests/dags) are passing, but other tests seem to fail to select any models to run. Something seems to have changed with latter versions of dbt but I haven't figured out what 🤔

@millin
Copy link
Contributor Author

millin commented Jun 29, 2024

Sorry, I created this pr prematurely.
I've already fixed most of the bugs locally, but haven't pushed yet. I'll try to finish on Monday.

@tomasfarias
Copy link
Owner

Sorry, I created this pr prematurely.
I've already fixed most of the bugs locally, but haven't pushed yet. I'll try to finish on Monday.

No problem! Happy to review next week and get this released.

@millin millin changed the title Draft: Update supported versions matrix Update supported versions matrix Jul 4, 2024
@@ -66,6 +66,12 @@ Add *airflow-dbt-python* to your `requirements.txt` file and edit your Airflow e

Read the [documentation](https://airflow-dbt-python.readthedocs.io/en/latest/getting_started.html#installing-in-mwaa) for more a more detailed AWS MWAA installation breakdown.

## In GCP Cloud Composer
Copy link
Owner

Choose a reason for hiding this comment

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

Thanks! Great updates!

@tomasfarias tomasfarias merged commit 8859071 into tomasfarias:master Jul 5, 2024
29 checks passed
@tomasfarias
Copy link
Owner

Will release shortly. Thanks for the great work @millin

@millin millin deleted the update_suppoted_versions branch July 5, 2024 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No module found dbt.semver Bug: Cannot create dbt profile from Airflow connection
2 participants