This is an automated email from the ASF dual-hosted git repository. ash pushed a commit to branch v2-0-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 20d4c38a0310798a2f066df2a16c164a57c1e2a6 Author: Ash Berlin-Taylor <[email protected]> AuthorDate: Thu Apr 15 22:33:41 2021 +0100 Test! --- .github/workflows/ci.yml | 13 +++++++++++++ scripts/ci/images/ci_prepare_prod_image_on_ci.sh | 10 ++++++---- scripts/ci/libraries/_build_images.sh | 1 - scripts/ci/libraries/_push_pull_remove_images.sh | 5 +++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edd499c..11cf9c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1053,6 +1053,16 @@ ${{ hashFiles('.pre-commit-config.yaml') }}" python-version: ${{ env.PYTHON_MAJOR_MINOR_VERSION }} - name: "Free space" run: ./scripts/ci/tools/ci_free_space_on_ci.sh + - name: Set push-python-image + id: push-python-image + run: | + if [[ "${REF}" == 'refs/head/master' || "${REF}" == 'refs/head/main' ]]; then + echo "::set-output name=wanted::true" + else + echo "::set-output name=wanted::false" + fi + env: + REF: ${{ github.ref }} - name: "Prepare PROD image ${{env.PYTHON_MAJOR_MINOR_VERSION}}:${{ env.GITHUB_REGISTRY_PULL_IMAGE_TAG }}" run: ./scripts/ci/images/ci_prepare_prod_image_on_ci.sh @@ -1060,8 +1070,11 @@ ${{ hashFiles('.pre-commit-config.yaml') }}" # Since we are going to push both final image and build image segment, we need to pull the # build image, in case we are pulling from registry rather than building. WAIT_FOR_PROD_BUILD_IMAGE: "true" + WAIT_FOR_PYTHON_BASE_IMAGE: ${{ steps.push-python-image.outputs.wanted}} - name: "Push PROD images ${{ matrix.python-version }}:${{ env.GITHUB_REGISTRY_PUSH_IMAGE_TAG }}" run: ./scripts/ci/images/ci_push_production_images.sh + env: + PUSH_PYTHON_BASE_IMAGE: ${{ steps.push-python-image.outputs.wanted}} push-ci-images-to-github-registry: timeout-minutes: 10 diff --git a/scripts/ci/images/ci_prepare_prod_image_on_ci.sh b/scripts/ci/images/ci_prepare_prod_image_on_ci.sh index 52ec2c6..9b088e1 100755 --- a/scripts/ci/images/ci_prepare_prod_image_on_ci.sh +++ b/scripts/ci/images/ci_prepare_prod_image_on_ci.sh @@ -41,10 +41,12 @@ function build_prod_images_on_ci() { python_tag_suffix="-${GITHUB_REGISTRY_PULL_IMAGE_TAG}" fi - # first we pull base python image. We will need it to re-push it after master build - # Becoming the new "latest" image for other builds - build_images::wait_for_image_tag "${GITHUB_REGISTRY_PYTHON_BASE_IMAGE}" \ - "${python_tag_suffix}" "${AIRFLOW_PYTHON_BASE_IMAGE}" + if [[ "${WAIT_FOR_PYTHON_BASE_IMAGE=}" == "true" ]]; then + # first we pull base python image. We will need it to re-push it after master build + # Becoming the new "latest" image for other builds + build_images::wait_for_image_tag "${GITHUB_REGISTRY_PYTHON_BASE_IMAGE}" \ + "${python_tag_suffix}" "${AIRFLOW_PYTHON_BASE_IMAGE}" + fi # And then the actual image build_images::wait_for_image_tag "${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}" \ diff --git a/scripts/ci/libraries/_build_images.sh b/scripts/ci/libraries/_build_images.sh index edf9e29..da015b9 100644 --- a/scripts/ci/libraries/_build_images.sh +++ b/scripts/ci/libraries/_build_images.sh @@ -453,7 +453,6 @@ function build_images::get_docker_image_names() { export GITHUB_REGISTRY_PYTHON_BASE_IMAGE="${image_name}${image_separator}python${GITHUB_REGISTRY_IMAGE_SUFFIX}:${PYTHON_BASE_IMAGE_VERSION}-slim-buster" export GITHUB_REGISTRY_AIRFLOW_CI_IMAGE="${image_name}${image_separator}${AIRFLOW_CI_BASE_TAG}${GITHUB_REGISTRY_IMAGE_SUFFIX}" - export GITHUB_REGISTRY_PYTHON_BASE_IMAGE="${image_name}${image_separator}python${GITHUB_REGISTRY_IMAGE_SUFFIX}:${PYTHON_BASE_IMAGE_VERSION}-slim-buster" } # If GitHub Registry is used, login to the registry using GITHUB_USERNAME and diff --git a/scripts/ci/libraries/_push_pull_remove_images.sh b/scripts/ci/libraries/_push_pull_remove_images.sh index b0723e4..5b16240 100644 --- a/scripts/ci/libraries/_push_pull_remove_images.sh +++ b/scripts/ci/libraries/_push_pull_remove_images.sh @@ -222,7 +222,9 @@ function push_pull_remove_images::push_python_image_to_github() { # Pushes Ci images and their tags to registry in GitHub function push_pull_remove_images::push_ci_images_to_github() { - push_pull_remove_images::push_python_image_to_github + if [[ "${PUSH_PYTHON_BASE_IMAGE=}" != "false" ]]; then + push_pull_remove_images::push_python_image_to_github + fi AIRFLOW_CI_TAGGED_IMAGE="${GITHUB_REGISTRY_AIRFLOW_CI_IMAGE}:${GITHUB_REGISTRY_PUSH_IMAGE_TAG}" docker_v tag "${AIRFLOW_CI_IMAGE}" "${AIRFLOW_CI_TAGGED_IMAGE}" push_pull_remove_images::push_image_with_retries "${AIRFLOW_CI_TAGGED_IMAGE}" @@ -263,7 +265,6 @@ function push_pull_remove_images::push_prod_images_to_dockerhub () { # "${GITHUB_RUN_ID}" - in case of pull-request triggered 'workflow_run' builds # "latest" - in case of push builds function push_pull_remove_images::push_prod_images_to_github () { - push_pull_remove_images::push_python_image_to_github AIRFLOW_PROD_TAGGED_IMAGE="${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}:${GITHUB_REGISTRY_PUSH_IMAGE_TAG}" docker_v tag "${AIRFLOW_PROD_IMAGE}" "${AIRFLOW_PROD_TAGGED_IMAGE}" push_pull_remove_images::push_image_with_retries "${GITHUB_REGISTRY_AIRFLOW_PROD_IMAGE}:${GITHUB_REGISTRY_PUSH_IMAGE_TAG}"
