Skip to content

Drop pre-release specification from pre-installed provider versions#38703

Merged
potiuk merged 1 commit intoapache:mainfrom
potiuk:remove-pre-release-provider-dependencies-from-preinstalled-providers-in-final-package
Apr 3, 2024
Merged

Drop pre-release specification from pre-installed provider versions#38703
potiuk merged 1 commit intoapache:mainfrom
potiuk:remove-pre-release-provider-dependencies-from-preinstalled-providers-in-final-package

Conversation

@potiuk
Copy link
Member

@potiuk potiuk commented Apr 3, 2024

When Airflow installs a pre-release provider version we can add the >=x.y.zdev0 or >=x.y.zrc1 to pre-release provider specification.

This is necessary to install dev0 or rc* packages when we release them for testing, when the pre-installed provider is a "chicken-egg" provider that does not yet have an "official" version - because otherwise the dependency would not allow the provider to be installed.

However, the "final" package should have just >=x.y.z without the pre-release specification, because by the time we release the final version, the pre-release provider package should be already released.

This PR implements such pre-release stripping. In cse we prepare the "final" version of the airflow package, all the preinstalled provider's specifications got the >=version stripped off all the prerelease information. The >=1.2.0dev0 or >=1.2.0rc1 is for example turned into >=1.2.0.


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

When Airflow installs a pre-release provider version we can add
the `>=x.y.zdev0` or `>=x.y.zrc1` to pre-release provider specification.

This is necessary to install dev0 or rc* packages when we release them
for testing, when the pre-installed provider is a "chicken-egg" provider
that does not yet have an "official" version - because otherwise
the dependency would not allow the provider to be installed.

However, the "final" package should have just `>=x.y.z` without the
pre-release specification, because by the time we release the final
version, the pre-release provider package should be already released.

This PR implements such pre-release stripping. In cse we prepare
the "final" version of the airflow package, all the preinstalled
provider's specifications got the `>=version` stripped off all the
prerelease information. The `>=1.2.0dev0` or `>=1.2.0rc1` is for
example turned into `>=`1.2.0`.
@potiuk potiuk added this to the Airflow 2.9.0 milestone Apr 3, 2024
@potiuk
Copy link
Member Author

potiuk commented Apr 3, 2024

The failing 3.12 test fixed in #38704

@potiuk potiuk merged commit 1759336 into apache:main Apr 3, 2024
@potiuk potiuk deleted the remove-pre-release-provider-dependencies-from-preinstalled-providers-in-final-package branch April 3, 2024 14:30
potiuk added a commit that referenced this pull request Apr 3, 2024
…38703)

When Airflow installs a pre-release provider version we can add
the `>=x.y.zdev0` or `>=x.y.zrc1` to pre-release provider specification.

This is necessary to install dev0 or rc* packages when we release them
for testing, when the pre-installed provider is a "chicken-egg" provider
that does not yet have an "official" version - because otherwise
the dependency would not allow the provider to be installed.

However, the "final" package should have just `>=x.y.z` without the
pre-release specification, because by the time we release the final
version, the pre-release provider package should be already released.

This PR implements such pre-release stripping. In cse we prepare
the "final" version of the airflow package, all the preinstalled
provider's specifications got the `>=version` stripped off all the
prerelease information. The `>=1.2.0dev0` or `>=1.2.0rc1` is for
example turned into `>=`1.2.0`.

Co-authored-by: Andrey Anshin <Andrey.Anshin@taragol.is>
(cherry picked from commit 1759336)
@potiuk potiuk added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants