Skip to content

Add support for chicken-egg providers to dockerhub release process - #36002

Merged
potiuk merged 1 commit into
mainfrom
add-chicken-egg-providers-support-for-dockerhub-release
Dec 1, 2023
Merged

Add support for chicken-egg providers to dockerhub release process#36002
potiuk merged 1 commit into
mainfrom
add-chicken-egg-providers-support-for-dockerhub-release

Conversation

@potiuk

Copy link
Copy Markdown
Member

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

@potiuk

Copy link
Copy Markdown
MemberAuthor

Testing the workflow changes here: https://github.com/apache/airflow/actions/runs/7059328822

@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from 470e085 to 284f6dfCompareDecember 1, 2023 11:22
@potiukpotiuk added this to the Airflow 2.8.0 milestone Dec 1, 2023
@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from 284f6df to 2f5fb2aCompareDecember 1, 2023 11:43
@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from 2f5fb2a to cd0ecbcCompareDecember 1, 2023 11:57
@potiuk

Copy link
Copy Markdown
MemberAuthor

Third attempt (getting closer) : https://github.com/apache/airflow/actions/runs/7059678993

@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from cd0ecbc to 862d0b1CompareDecember 1, 2023 12:33
@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from 862d0b1 to a82cbe0CompareDecember 1, 2023 12:53
@potiuk

Copy link
Copy Markdown
MemberAuthor

One step closer: https://github.com/apache/airflow/actions/runs/7060262963 - we need to also support case where airflow + other providers is installed from PyPI but the single provider from local docker-context-files (also added a documentation describing why we are doing it and how)

@potiuk
potiuk requested review from Lee-W and eladkalDecember 1, 2023 12:56
@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from a82cbe0 to 2b73d87CompareDecember 1, 2023 13:05
@potiuk
potiukforce-pushed the add-chicken-egg-providers-support-for-dockerhub-release branch from 2b73d87 to 7ca71bdCompareDecember 1, 2023 13:09
@potiuk

Copy link
Copy Markdown
MemberAuthor

OK. The workflow passed here (including image verification step) - (with some intermittent failure for 3.11 which I re-run)

https://github.com/apache/airflow/actions/runs/7060444121

And the 2.8.0b1 images now contain the common.io provider:

docker run -it apache/airflow:2.8.0.b1-python3.8 bash airflow@86cb1fa40068:/opt/airflow$ pip freeze | grep provider
apache-airflow-providers-amazon==8.12.0
apache-airflow-providers-celery==3.4.1
apache-airflow-providers-cncf-kubernetes==7.10.0
apache-airflow-providers-common-io @ file:///docker-context-files/apache_airflow_providers_common_io-1.1.0.dev0-py3-none-any.whl#sha256=26a8e1c51586d6e1d831b01327664943cb69ce9c4f6c589e04096a5090733a72
apache-airflow-providers-common-sql==1.8.1
apache-airflow-providers-docker==3.8.2
apache-airflow-providers-elasticsearch==5.2.0
apache-airflow-providers-ftp==3.6.1
apache-airflow-providers-google==10.12.0
apache-airflow-providers-grpc==3.3.0
apache-airflow-providers-hashicorp==3.5.0
apache-airflow-providers-http==4.7.0
apache-airflow-providers-imap==3.4.0
apache-airflow-providers-microsoft-azure==8.3.0
apache-airflow-providers-mysql==5.4.0
apache-airflow-providers-odbc==4.2.0
apache-airflow-providers-openlineage==1.2.1
apache-airflow-providers-postgres==5.8.0
apache-airflow-providers-redis==3.4.1
apache-airflow-providers-sendgrid==3.3.0
apache-airflow-providers-sftp==4.7.0
apache-airflow-providers-slack==8.4.0
apache-airflow-providers-snowflake==5.1.2
apache-airflow-providers-sqlite==3.5.0
apache-airflow-providers-ssh==3.8.1

@potiuk

Copy link
Copy Markdown
MemberAuthor

(note - you will need to pull the images again if you pulled them previously )

@ephraimbuddy

Copy link
Copy Markdown
Contributor

I will work on getting a new beta. WDYT?

@potiuk

potiuk commented Dec 1, 2023

Copy link
Copy Markdown
MemberAuthor

I will work on getting a new beta. WDYT?

I think it makes sense only if this one is merged an there are other fixes cherry-picked - but yeah - why not :)

BTW. There is also a very small caveat / edge case.

Those images that use chicken-egg providers, do not use "constraints" mainly because - like this is in this case - they use pre-release version of the "chicken-egg providers" build from sources.

So they are generally getting latest matching versions of packages from PyPI, not the ones in the constraints. This is likely never going to cause us problems - because in 9X% of cases they will be the same as constraints, but there is a very small probability that someone released new versions of package between the moment where constraints were updated (when Package is released) and when the image has been built (which will usually happen 10-20 minutes later)

So it's not perfect solution but I consider it "good enough"

@potiuk
potiuk merged commit 8829d17 into mainDec 1, 2023
@ephraimbuddyephraimbuddy added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Dec 5, 2023
ephraimbuddy pushed a commit that referenced this pull request Dec 5, 2023
@Taragolis
Taragolis deleted the add-chicken-egg-providers-support-for-dockerhub-release branch December 27, 2023 10:33
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-toolschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@potiuk@ephraimbuddy