Skip to content

Commit

Permalink
Move removal of chicken-egg providers to before releasing image (#36286)
Browse files Browse the repository at this point in the history
Once Airflow is relesed to PyPI we should remove chicken-egg
providers for that release and cherry-pick them to v2-*-test in
order to prepare container images in case the image contains the
providers as default extras.
  • Loading branch information
potiuk authored Dec 18, 2023
1 parent 34d5001 commit 663dfd0
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions dev/README_RELEASE_AIRFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- [Publish the final Apache Airflow release](#publish-the-final-apache-airflow-release)
- [Summarize the voting for the Apache Airflow release](#summarize-the-voting-for-the-apache-airflow-release)
- [Publish release to SVN](#publish-release-to-svn)
- [Remove chicken-egg providers](#remove-chicken-egg-providers)
- [Manually prepare production Docker Image](#manually-prepare-production-docker-image)
- [Verify production images](#verify-production-images)
- [Publish documentation](#publish-documentation)
Expand Down Expand Up @@ -764,6 +765,20 @@ export AIRFLOW_REPO_ROOT=$(pwd)
breeze release-management start-release --release-candidate ${RC} --previous-release <PREVIOUS RELEASE>
```
## Remove chicken-egg providers
For the first MINOR (X.Y.0) release - remove all providers from ``CHICKEN_EGG_PROVIDERS`` list
in ``src/airflow_breeze/global_constants.py`` that have >= ``X.Y.0`` in the corresponding provider.yaml file.
In case the provider should also be installed in the image (it is part of ``airflow/providers/installed_providers.txt``)
it should also be added at this moment to ``Dockerfile`` to the list of default extras in the lin with ``AIRFLOW_EXTRAS``:
```Dockerfile
ARG AIRFLOW_EXTRAS=".....,<provider>,...."
```
This change needs to be merged to ``main`` and cherry-picked to ``v2-*-test`` branch before building the image.
## Manually prepare production Docker Image
Building the image is triggered by running the
Expand All @@ -774,7 +789,7 @@ When you trigger it you need to pass:
* Airflow Version
* Optional "true" in skip latest field if you do not want to re-tag the latest image
Make sure you use v2-*-stable branch to run the workflow.
Make sure you use ``v2-*-test`` branch to run the workflow.
![Release prod image](images/release_prod_image.png)
Expand Down Expand Up @@ -980,8 +995,6 @@ This includes:
- Sync `RELEASE_NOTES.rst` (including deleting relevant `newsfragments`) and `README.md` changes.
- Updating `Dockerfile` with the new version.
- Updating `airflow_bug_report.yml` issue template in `.github/ISSUE_TEMPLATE/` with the new version.
- For the first MINOR (X.Y.0) release - remove all providers from ``CHICKEN_EGG_PROVIDERS`` list
in ``src/airflow_breeze/global_constants.py`` that have >= ``X.Y.0`` in the corresponding provider.yaml file.
## Update default Airflow version in the helm chart
Expand Down

0 comments on commit 663dfd0

Please sign in to comment.