@@ -62,12 +62,10 @@ jobs:
6262 - " python:container:py311:docker"
6363 - " python:container:py312:docker"
6464 - " python:container:py313:docker"
65- - " python:container:py314:docker"
6665 - " python:container:distroless:py310:docker"
6766 - " python:container:distroless:py311:docker"
6867 - " python:container:distroless:py312:docker"
6968 - " python:container:distroless:py313:docker"
70- - " python:container:distroless:py314:docker"
7169 - " python:container:ml:py310:docker"
7270 - " python:container:ml:py311:docker"
7371 - " python:container:ml:py312:docker"
9088 # This is needed to run pipelines that use the default environment at HEAD, for example, when a
9189 # pipeline uses an expansion service built from HEAD.
9290 run : |
93- BEAM_VERSION_LINE=$(cat gradle.properties | grep "sdk_version")
94- echo "BEAM_VERSION=${BEAM_VERSION_LINE#*sdk_version=}" >> $GITHUB_ENV
91+ BEAM_VERSION=$(grep -E '^sdk_version=' gradle.properties | cut -d= -f2-)
92+ if [[ ! "${BEAM_VERSION}" =~ ^[0-9A-Za-z._-]+$ ]]; then
93+ echo "Invalid sdk_version in gradle.properties: ${BEAM_VERSION}"
94+ exit 1
95+ fi
96+ {
97+ echo "BEAM_VERSION<<EOF"
98+ echo "${BEAM_VERSION}"
99+ echo "EOF"
100+ } >> "$GITHUB_ENV"
95101 - name : Set latest tag only on master branch
96102 if : github.ref == 'refs/heads/master'
97103 run : echo "LATEST_TAG=,latest" >> $GITHUB_ENV
@@ -127,3 +133,75 @@ jobs:
127133 -Pcontainer-architecture-list=arm64,amd64 \
128134 -Ppush-containers \
129135 -Pdocker-pull-licenses
136+
137+ beam_Publish_Beam_SDK_Snapshots_py314 :
138+ needs : beam_Publish_Beam_SDK_Snapshots
139+ if : |
140+ always() &&
141+ !cancelled() &&
142+ (github.event_name == 'workflow_dispatch' ||
143+ (github.event_name == 'schedule' && github.repository == 'apache/beam'))
144+ runs-on : [self-hosted, ubuntu-24.04, main]
145+ timeout-minutes : 300
146+ name : ${{ matrix.job_name }} (${{ matrix.container_task }})
147+ strategy :
148+ fail-fast : false
149+ matrix :
150+ job_name : ["beam_Publish_Beam_SDK_Snapshots"]
151+ job_phrase : ["N/A"]
152+ container_task :
153+ - " python:container:py314:docker"
154+ - " python:container:distroless:py314:docker"
155+ steps :
156+ - uses : actions/checkout@v7
157+ with :
158+ persist-credentials : false
159+ - name : Free Disk Space (Ubuntu)
160+ uses : jlumbroso/free-disk-space@v1.3.1
161+ - name : Setup repository
162+ uses : ./.github/actions/setup-action
163+ with :
164+ comment_phrase : ${{ matrix.job_phrase }}
165+ github_token : ${{ secrets.GITHUB_TOKEN }}
166+ github_job : ${{ matrix.job_name }} (${{ matrix.container_task }})
167+ - name : Find Beam Version
168+ run : |
169+ BEAM_VERSION=$(grep -E '^sdk_version=' gradle.properties | cut -d= -f2-)
170+ if [[ ! "${BEAM_VERSION}" =~ ^[0-9A-Za-z._-]+$ ]]; then
171+ echo "Invalid sdk_version in gradle.properties: ${BEAM_VERSION}"
172+ exit 1
173+ fi
174+ {
175+ echo "BEAM_VERSION<<EOF"
176+ echo "${BEAM_VERSION}"
177+ echo "EOF"
178+ } >> "$GITHUB_ENV"
179+ - name : Set latest tag only on master branch
180+ if : github.ref == 'refs/heads/master'
181+ run : echo "LATEST_TAG=,latest" >> $GITHUB_ENV
182+ - name : Set up Docker Buildx
183+ uses : docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c
184+ - name : Authenticate on GCP
185+ uses : google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093
186+ with :
187+ service_account : ${{ secrets.GCP_SA_EMAIL }}
188+ credentials_json : ${{ secrets.GCP_SA_KEY }}
189+ - name : Set up Cloud SDK
190+ uses : google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db
191+ - name : GCloud Docker credential helper
192+ run : |
193+ gcloud auth configure-docker ${{ env.docker_registry }}
194+ - name : Setup Python environment
195+ uses : ./.github/actions/setup-environment-action
196+ with :
197+ python-version : default
198+ - name : run Publish Beam SDK Snapshots script
199+ uses : ./.github/actions/gradle-command-self-hosted-action
200+ with :
201+ gradle-command : :sdks:${{ matrix.container_task }}
202+ arguments : |
203+ -Pdocker-repository-root=gcr.io/apache-beam-testing/beam-sdk \
204+ -Pdocker-tag-list=${{ github.sha }},${BEAM_VERSION}${LATEST_TAG} \
205+ -Pcontainer-architecture-list=arm64,amd64 \
206+ -Ppush-containers \
207+ -Pdocker-pull-licenses
0 commit comments