This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 8ad18bf029 Improve production image release workflow (#24481)
8ad18bf029 is described below

commit 8ad18bf02924d1677502231e678951bc5b8cb420
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Jun 16 10:50:19 2022 +0200

    Improve production image release workflow (#24481)
    
    Few improvements:
    
    * direct link to workflow in the docs
    * "green" success screenshots (separate screenshot for rc)
    * job and step names contain both Airflow version and python version
    * running subsequent build with same version will cancel past
      in-progress build (in case you quickly make constraint fis for
      example and re-run)
---
 .github/workflows/release_dockerhub_image.yml |  13 +++++++++----
 dev/README_RELEASE_AIRFLOW.md                 |  18 +++++++++---------
 dev/images/release_prod_image.png             | Bin 112569 -> 76309 bytes
 dev/images/release_prod_image_rc.png          | Bin 0 -> 65816 bytes
 4 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/.github/workflows/release_dockerhub_image.yml 
b/.github/workflows/release_dockerhub_image.yml
index bd9fdaec1e..a6c3e86ddd 100644
--- a/.github/workflows/release_dockerhub_image.yml
+++ b/.github/workflows/release_dockerhub_image.yml
@@ -16,7 +16,7 @@
 # under the License.
 #
 ---
-name: "Release PROD image"
+name: "Release PROD images"
 on:  # yamllint disable-line rule:truthy
   workflow_dispatch:
     inputs:
@@ -27,6 +27,9 @@ on:  # yamllint disable-line rule:truthy
         description: 'Skip Latest: Set to true if not latest.'
         default: ''
         required: false
+concurrency:
+  group: ${{ github.event.inputs.airflowVersion }}
+  cancel-in-progress: true
 jobs:
   build-info:
     timeout-minutes: 10
@@ -53,7 +56,7 @@ jobs:
         run: ./scripts/ci/selective_ci_checks.sh
   release-images:
     timeout-minutes: 120
-    name: "Release images"
+    name: "Release images: ${{ github.event.inputs.airflowVersion }}, ${{ 
matrix.python-version }}"
     runs-on: ${{ github.repository == 'apache/airflow' && 'self-hosted' || 
'ubuntu-20.04' }}
     needs: [build-info]
     strategy:
@@ -98,7 +101,8 @@ jobs:
         run: >
           echo ${{ secrets.DOCKERHUB_TOKEN }} |
           docker login --password-stdin --username ${{ secrets.DOCKERHUB_USER 
}}
-      - name: "Release regular images"
+      - name: >
+          Release regular images: ${{ github.event.inputs.airflowVersion }}, 
${{ matrix.python-version }}
         run: >
           breeze release-prod-images
           --dockerhub-repo ${{ github.repository }}
@@ -106,7 +110,8 @@ jobs:
           ${{ needs.build-info.outputs.skipLatest }}
           ${{ needs.build-info.outputs.limitPlatform }}
           --limit-python ${{ matrix.python-version }}
-      - name: "Release slim images"
+      - name: >
+          Release slim images: ${{ github.event.inputs.airflowVersion }}, ${{ 
matrix.python-version }}
         run: >
           breeze release-prod-images
           --dockerhub-repo ${{ github.repository }}
diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md
index 5a785ff7df..7e2cc8da83 100644
--- a/dev/README_RELEASE_AIRFLOW.md
+++ b/dev/README_RELEASE_AIRFLOW.md
@@ -27,7 +27,7 @@
   - [Build RC artifacts](#build-rc-artifacts)
   - [[\Optional\] Prepare new release branches and 
cache](#%5Coptional%5C-prepare-new-release-branches-and-cache)
   - [Prepare PyPI convenience "snapshot" 
packages](#prepare-pypi-convenience-snapshot-packages)
-  - [Prepare production Docker Image](#prepare-production-docker-image)
+  - [Prepare production Docker Image RC](#prepare-production-docker-image-rc)
   - [Prepare issue for testing status of 
rc](#prepare-issue-for-testing-status-of-rc)
   - [Prepare Vote email on the Apache Airflow release 
candidate](#prepare-vote-email-on-the-apache-airflow-release-candidate)
 - [Verify the release candidate by PMCs](#verify-the-release-candidate-by-pmcs)
@@ -487,7 +487,7 @@ is not supposed to be used by and advertised to the 
end-users who do not read th
     git push origin tag ${VERSION}
     ```
 
-## Prepare production Docker Image
+## Prepare production Docker Image RC
 
 Production Docker images should be manually prepared and pushed by the release 
manager or another committer
 who has access to Airflow's DockerHub. Note that we started releasing a 
multi-platform build, so you need
@@ -497,15 +497,15 @@ to have an environment prepared to build multi-platform 
images. You can achieve
 * Emulation (very slow)
 * Hardware builders if you have both AMD64 and ARM64 hardware locally
 
-Building the image is triggered by running the `Release PROD image` workflow 
via
-[GitHub Actions](https://github.com/apache/airflow/actions).
+Building the image is triggered by running the
+[Release PROD 
Images](https://github.com/apache/airflow/actions/workflows/release_dockerhub_image.yml)
 workflow.
 
 When you trigger it you need to pass:
 
-* Airflow Version
-* Optional "true" in skip latest field if you do not want to retag the latest 
image
+* Airflow Version (including the right rc suffix)
+* Optional "true" in the "Skip latest:" field if you do not want to re-tag the 
latest image
 
-![Release prod image](images/release_prod_image.png)
+![Release prod image](images/release_prod_image_rc.png)
 
 The manual building is described in 
[MANUALLY_BUILDING_IMAGES.md](MANUALLY_BUILDING_IMAGES.md).
 
@@ -958,8 +958,8 @@ At this point we release an official package:
 
 ## Manually prepare production Docker Image
 
-Building the image is triggered by running the `Release PROD image` workflow 
via
-[GitHub Actions](https://github.com/apache/airflow/actions).
+Building the image is triggered by running the
+[Release PROD 
Images](https://github.com/apache/airflow/actions/workflows/release_dockerhub_image.yml)
 workflow.
 
 When you trigger it you need to pass:
 
diff --git a/dev/images/release_prod_image.png 
b/dev/images/release_prod_image.png
index 78f941a43b..50336e5194 100644
Binary files a/dev/images/release_prod_image.png and 
b/dev/images/release_prod_image.png differ
diff --git a/dev/images/release_prod_image_rc.png 
b/dev/images/release_prod_image_rc.png
new file mode 100644
index 0000000000..c88b1285c8
Binary files /dev/null and b/dev/images/release_prod_image_rc.png differ

Reply via email to