Skip to content

[pull] main from apache:main#1061

Merged
pull[bot] merged 2 commits intoboost-entropy-python:mainfrom
apache:main
May 3, 2023
Merged

[pull] main from apache:main#1061
pull[bot] merged 2 commits intoboost-entropy-python:mainfrom
apache:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented May 3, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

This change adds full automation for keeping and updating min
airflow version for all community providers.

It makes sure that:

* all non-preinstalled providers have min-airflow-version
  set properly
* all providers (including the preinstalled ones) additionally
  perform a runtime check on whether correct version of Airflow
  is installed.
* allows for exceptional cases for some providers to be set
* all providers have `version` added and exported in their
  `__init__.py`

Usually just setting the airflow version in requirements should
be enough, but since we have to install runtime check for
preinstalled providers, it's easier to add the runtime check
for all providers, and it will be additional verification that
airflow version is properly set. Additionally, we can export
correct version in the automatically generated `__init__.py`
for all providers.

The pre-installed providers cannot have explicit minimum airflow
version specified as requirement, because this would create a
dependency cycle with Airflow, and while such dependency cycle is
fine for `pip`, other tools that analyse dependencies get confused
and produce errors, claiming there cannot be dependenc cycles in
the dependency tree (which is not generally a hard requirement,
package dependency graph does not have to be DAG and it can contain
cycles).

This is why we have to add runtime check in the preinstalled providers
to fail when they are installed with older Airflow versions than the
ones that are supported by our policy.

This PR automates maintenance of all the versions involved during
prepearation of release documentation - it has been somewhat manual
procedure so far, because it was only set in provider.yaml, but since
now we set it in several places, it requires automation and single
source of truth (which is prepare_provider_packages.py script that
is used for preparation of provider documenation and packages.
@pull pull bot added the ⤵️ pull label May 3, 2023
@pull pull bot merged commit 6460ba6 into boost-entropy-python:main May 3, 2023
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.

2 participants