This is an automated email from the ASF dual-hosted git repository. damccorm pushed a commit to branch users/damccorm/splitContainerPush in repository https://gitbox.apache.org/repos/asf/beam.git
commit b0ba28c6bc513a6d087680d32142290f7c93c1d3 Author: Danny Mccormick <[email protected]> AuthorDate: Wed Feb 26 10:28:12 2025 -0500 Enable splitting up docker publish workflow --- .../republish_released_docker_containers.yml | 12 ++++++++++-- build.gradle.kts | 20 +++++++++++++++----- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/.github/workflows/republish_released_docker_containers.yml b/.github/workflows/republish_released_docker_containers.yml index f87f4af220c..dc9228e3371 100644 --- a/.github/workflows/republish_released_docker_containers.yml +++ b/.github/workflows/republish_released_docker_containers.yml @@ -39,6 +39,14 @@ jobs: build: runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + images_to_publish: [ + {"gradle_task": ":pushAllRunnersDockerImages", "skip_flags": ""}, + {"gradle_task": ":pushAllSdkDockerImages", "skip_flags": ""}, + {"gradle_task": ":pushAllDockerImages", "skip_flags": "-Pskip-runner-images -Pskip-sdk-images"} + ] steps: - name: Checkout uses: actions/checkout@v4 @@ -73,10 +81,10 @@ jobs: gcloud auth configure-docker ${{ env.docker_registry }} - name: Push docker images run: | - ./gradlew :pushAllDockerImages \ + ./gradlew ${{ matrix.images_to_publish.gradle_task }} \ -PisRelease \ -Pdocker-pull-licenses \ - -Pprune-images \ + -Pprune-images ${{ matrix.images_to_publish.skip_flags }} \ -Pdocker-repository-root=gcr.io/apache-beam-testing/updated_released_container_images \ -Pdocker-tag-list=${{ env.release }},${{ github.sha }},$(date +'%Y-%m-%d') \ --no-daemon \ diff --git a/build.gradle.kts b/build.gradle.kts index d230f32ea9b..209cb2b9593 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -598,7 +598,9 @@ tasks.register("pushAllRunnersDockerImages") { tasks.register("pushAllSdkDockerImages") { // Enforce ordering to allow the prune step to happen between runs. // This will ensure we don't use up too much space (especially in CI environments) - mustRunAfter(":pushAllRunnersDockerImages") + if (!project.hasProperty("skip-runner-images")) { + mustRunAfter(":pushAllRunnersDockerImages") + } dependsOn(":sdks:java:container:pushAll") dependsOn(":sdks:python:container:pushAll") @@ -618,7 +620,9 @@ tasks.register("pushAllSdkDockerImages") { tasks.register("pushAllXlangDockerImages") { // Enforce ordering to allow the prune step to happen between runs. // This will ensure we don't use up too much space (especially in CI environments) - mustRunAfter(":pushAllSdkDockerImages") + if (!project.hasProperty("skip-sdk-images")) { + mustRunAfter(":pushAllSdkDockerImages") + } dependsOn(":sdks:java:expansion-service:container:docker") dependsOn(":sdks:java:transform-service:controller-container:docker") @@ -635,9 +639,15 @@ tasks.register("pushAllXlangDockerImages") { } tasks.register("pushAllDockerImages") { - dependsOn(":pushAllRunnersDockerImages") - dependsOn(":pushAllSdkDockerImages") - dependsOn(":pushAllXlangDockerImages") + if (!project.hasProperty("skip-runner-images")) { + dependsOn(":pushAllRunnersDockerImages") + } + if (!project.hasProperty("skip-sdk-images")) { + dependsOn(":pushAllSdkDockerImages") + } + if (!project.hasProperty("skip-xlang-images")) { + dependsOn(":pushAllXlangDockerImages") + } } // Use this task to validate the environment set up for Go, Python and Java
