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

shunping pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 0802263e48e Add a github workflow to publish vllm image. (#39089)
0802263e48e is described below

commit 0802263e48e842bfbe437ed9b8ec72c2311c0d76
Author: Shunping Huang <[email protected]>
AuthorDate: Wed Jun 24 10:42:05 2026 -0400

    Add a github workflow to publish vllm image. (#39089)
    
    * Add a github workflow to publish vllm image.
    
    * Add the new github workflow the workflows/README.md
---
 .github/workflows/README.md                        |  1 +
 .../workflows/beam_Publish_Python_VLLM_Image.yml   | 75 ++++++++++++++++++++++
 2 files changed, 76 insertions(+)

diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 1715365f4ec..4a32aa271df 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -534,6 +534,7 @@ PostCommit Jobs run in a schedule against master branch and 
generally do not get
 | [ Publish Beam SDK Snapshots 
](https://github.com/apache/beam/actions/workflows/beam_Publish_Beam_SDK_Snapshots.yml)
 | N/A | 
[![.github/workflows/beam_Publish_Beam_SDK_Snapshots.yml](https://github.com/apache/beam/actions/workflows/beam_Publish_Beam_SDK_Snapshots.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Publish_Beam_SDK_Snapshots.yml?query=event%3Aschedule)
 |
 | [ Publish BeamMetrics 
](https://github.com/apache/beam/actions/workflows/beam_Publish_BeamMetrics.yml)
 | N/A | 
[![.github/workflows/beam_Publish_BeamMetrics.yml](https://github.com/apache/beam/actions/workflows/beam_Publish_BeamMetrics.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Publish_BeamMetrics.yml?query=event%3Aschedule)
 | [ Publish Docker Snapshots 
](https://github.com/apache/beam/actions/workflows/beam_Publish_Docker_Snapshots.yml)
 | N/A | 
[![.github/workflows/beam_Publish_Docker_Snapshots.yml](https://github.com/apache/beam/actions/workflows/beam_Publish_Docker_Snapshots.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Publish_Docker_Snapshots.yml?query=event%3Aschedule)
 |
+| [ Publish Python VLLM Image 
](https://github.com/apache/beam/actions/workflows/beam_Publish_Python_VLLM_Image.yml)
 | N/A | 
[![.github/workflows/beam_Publish_Python_VLLM_Image.yml](https://github.com/apache/beam/actions/workflows/beam_Publish_Python_VLLM_Image.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Publish_Python_VLLM_Image.yml?query=event%3Aschedule)
 |
 | [ Publish Website  
](https://github.com/apache/beam/actions/workflows/beam_Publish_Website.yml) | 
N/A | 
[![.github/workflows/beam_Publish_Website.yml](https://github.com/apache/beam/actions/workflows/beam_Publish_Website.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Publish_Website.yml?query=event%3Aschedule)
 |
 | [ Release Nightly Snapshot 
](https://github.com/apache/beam/actions/workflows/beam_Release_NightlySnapshot.yml)
 | N/A | 
[![.github/workflows/beam_Release_NightlySnapshot.yml](https://github.com/apache/beam/actions/workflows/beam_Release_NightlySnapshot.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Release_NightlySnapshot.yml?query=event%3Aschedule)
 |
 | [ Release Nightly Snapshot Python 
](https://github.com/apache/beam/actions/workflows/beam_Release_Python_NightlySnapshot.yml)
 | N/A | 
[![.github/workflows/beam_Release_Python_NightlySnapshot.yml](https://github.com/apache/beam/actions/workflows/beam_Release_Python_NightlySnapshot.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_Release_Python_NightlySnapshot.yml?query=event%3Aschedule)
 |
diff --git a/.github/workflows/beam_Publish_Python_VLLM_Image.yml 
b/.github/workflows/beam_Publish_Python_VLLM_Image.yml
new file mode 100644
index 00000000000..21b6dc8d53c
--- /dev/null
+++ b/.github/workflows/beam_Publish_Python_VLLM_Image.yml
@@ -0,0 +1,75 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Publish Python VLLM Image
+
+on:
+  schedule:
+    - cron: '0 0 * * 0' # Run weekly (Sunday at 00:00)
+  workflow_dispatch:
+
+# Setting explicit permissions for the action to avoid the default permissions
+permissions:
+  actions: write
+  pull-requests: read
+  checks: read
+  contents: read
+  deployments: read
+  id-token: none
+  issues: read
+  discussions: read
+  packages: read
+  pages: read
+  repository-projects: read
+  security-events: read
+  statuses: read
+
+# This allows a subsequently queued workflow run to interrupt previous runs
+concurrency:
+  group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.sha 
|| github.head_ref || github.ref }}-${{ github.event.schedule || 
github.event.comment.id || github.event.sender.login }}'
+  cancel-in-progress: true
+
+jobs:
+  build_and_push_image:
+    if: |
+      github.event_name == 'workflow_dispatch' ||
+      (github.event_name == 'schedule' && github.repository == 'apache/beam')
+    runs-on: [self-hosted, ubuntu-24.04, main]
+    timeout-minutes: 60
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v7
+      - name: Authenticate on GCP
+        uses: 
google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093
+        with:
+          service_account: ${{ secrets.GCP_SA_EMAIL }}
+          credentials_json: ${{ secrets.GCP_SA_KEY }}
+      - name: Set up Cloud SDK
+        uses: 
google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db
+      - name: Set up Docker Buildx
+        uses: 
docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5
+      - name: GCloud Docker credential helper
+        run: |
+          gcloud auth configure-docker us.gcr.io
+      - name: Build and Push Multi-Arch Image
+        run: |
+          docker buildx build \
+            --platform linux/amd64,linux/arm64 \
+            -t us.gcr.io/apache-beam-testing/python-postcommit-it/vllm:latest \
+            -f 
sdks/python/apache_beam/ml/inference/test_resources/vllm.dockerfile.old \
+            --push \
+            .

Reply via email to