Skip to content

Commit 9e336be

Browse files
authored
Merge pull request #39453 from aIbrahiim/isolate-py314-sdk-snapshots
Isolate py314 sdk snapshots
2 parents 5e49938 + 797ab19 commit 9e336be

1 file changed

Lines changed: 82 additions & 4 deletions

File tree

.github/workflows/beam_Publish_Beam_SDK_Snapshots.yml

Lines changed: 82 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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"
@@ -90,8 +88,16 @@ jobs:
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

Comments
 (0)