This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v2-7-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v2-7-test by this push:
new a58e27df97 Use PyPI constraints for PROD image in non-main branch
a58e27df97 is described below
commit a58e27df971fc8032d9082f21fd959dda5c07808
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Aug 27 05:16:16 2023 +0200
Use PyPI constraints for PROD image in non-main branch
When we are building PROD image in CI for non main branch, we are
installing providers from PyPI rather than building them locally
from sources. Therefore we should use `PyPI` constraints for
such builds not the "source" constraints (they might differ).
This PR adds two steps:
* In the CI build, when we do not build providers we generate
PyPI constraints additionally to source constraints
* In the PROD build we use the PyPI constraints in case we
do not build providers locally
---
.github/actions/build-ci-images/action.yml | 8 +++++++-
.github/actions/build-prod-images/action.yml | 12 +++++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/.github/actions/build-ci-images/action.yml
b/.github/actions/build-ci-images/action.yml
index d43a425284..415819008c 100644
--- a/.github/actions/build-ci-images/action.yml
+++ b/.github/actions/build-ci-images/action.yml
@@ -34,12 +34,18 @@ runs:
- name: "Build & Push AMD64 CI images ${{ env.IMAGE_TAG }} ${{
env.PYTHON_VERSIONS }}"
shell: bash
run: breeze ci-image build --push --tag-as-latest --run-in-parallel
--upgrade-on-failure
- - name: "Show dependencies to be upgraded"
+ - name: "Generate source constraints"
shell: bash
run: >
breeze release-management generate-constraints --run-in-parallel
--airflow-constraints-mode constraints-source-providers
if: env.UPGRADE_TO_NEWER_DEPENDENCIES != 'false'
+ - name: "Generate PyPI constraints"
+ shell: bash
+ run: >
+ breeze release-management generate-constraints --run-in-parallel
+ --airflow-constraints-mode constraints
+ if: env.UPGRADE_TO_NEWER_DEPENDENCIES != 'false' and ${{
inputs.build-provider-packages != 'true' }}
- name: "Print dependency upgrade summary"
shell: bash
run: |
diff --git a/.github/actions/build-prod-images/action.yml
b/.github/actions/build-prod-images/action.yml
index feac8c2ef2..1223b5a7f1 100644
--- a/.github/actions/build-prod-images/action.yml
+++ b/.github/actions/build-prod-images/action.yml
@@ -62,7 +62,7 @@ runs:
name: constraints
path: ./docker-context-files
if: env.UPGRADE_TO_NEWER_DEPENDENCIES != 'false'
- - name: "Build & Push PROD images ${{ env.IMAGE_TAG }}:${{
env.PYTHON_VERSIONS }}"
+ - name: "Build & Push PROD images with source providers ${{ env.IMAGE_TAG
}}:${{ env.PYTHON_VERSIONS }}"
shell: bash
run: >
breeze prod-image build --tag-as-latest --run-in-parallel --push
@@ -70,6 +70,16 @@ runs:
--use-constraints-for-context-packages
env:
COMMIT_SHA: ${{ github.sha }}
+ if: ${{ inputs.build-provider-packages == 'true' }}
+ - name: "Build & Push PROD images with PyPi providers ${{ env.IMAGE_TAG
}}:${{ env.PYTHON_VERSIONS }}"
+ shell: bash
+ run: >
+ breeze prod-image build --tag-as-latest --run-in-parallel --push
+ --install-packages-from-context --airflow-constraints-mode constraints
+ --use-constraints-for-context-packages
+ env:
+ COMMIT_SHA: ${{ github.sha }}
+ if: ${{ inputs.build-provider-packages != 'true' }}
- name: "Fix ownership"
shell: bash
run: breeze ci fix-ownership