This is an automated email from the ASF dual-hosted git repository.
yhu 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 d51177b9cee Add a check to make sure GitHub action workflows are
listed in readme (#37883)
d51177b9cee is described below
commit d51177b9cee212cba5d82d968611f328292b8678
Author: Yi Hu <[email protected]>
AuthorDate: Wed Mar 18 11:17:09 2026 -0400
Add a check to make sure GitHub action workflows are listed in readme
(#37883)
---
.github/build.gradle | 6 ++++++
.github/workflows/README.md | 23 +++++++++++++++++++++++
.github/workflows/beam_PreCommit_GHA.yml | 2 +-
.github/workflows/beam_PreCommit_RAT.yml | 2 +-
.github/workflows/beam_PreCommit_Whitespace.yml | 2 +-
5 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/.github/build.gradle b/.github/build.gradle
index 09800091ed2..6effa8742f6 100644
--- a/.github/build.gradle
+++ b/.github/build.gradle
@@ -28,6 +28,7 @@ buildscript {
/** check that yml are valid */
task check {
doLast {
+ def workflowDoc = new
File("${project.projectDir}/workflows/README.md").text
List<String> errors = []
fileTree("${project.projectDir}/workflows").matching {
include "*.yml"
@@ -68,6 +69,11 @@ task check {
}
}
}
+
+ // Make sure the workflow is listed in README.md
+ if ( fname.startsWith("beam_") && !workflowDoc.contains(fname)) {
+ errors.add("Workflow ${fname} not listed in workflows/README.md");
+ }
}
if (!errors.isEmpty()) {
throw new GradleException("Check failed: " + errors.join('\n'))
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 85440166dc8..448a9e7363a 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -297,6 +297,13 @@ PreCommit Jobs run in a schedule and also get triggered in
a PR if relevant sour
| [ PreCommit Whitespace
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Whitespace.yml)
| N/A |`Run Whitespace PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Whitespace.yml?query=event%3Aschedule)
|
| [ PreCommit Xlang Generated Transforms
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Xlang_Generated_Transforms.yml)
| N/A |`Run Xlang_Generated_Transforms PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Xlang_Generated_Transforms.yml?query=event%3Asch
[...]
| [ PreCommit YAML Xlang Direct
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Yaml_Xlang_Direct.yml)
| N/A |`Run Yaml_Xlang_Direct PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Yaml_Xlang_Direct.yml?query=event%3Aschedule)
|
+| [ PreCommit Flink Container
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Flink_Container.yml)
| N/A |`Run Flink Container PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Flink_Container.yml?query=event%3Aschedule)
|
+| [ PreCommit GoPrism
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_GoPrism.yml)
| N/A |`Run GoPrism PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_GoPrism.yml?query=event%3Aschedule)
|
+| [ PreCommit Integration and Load Test Framework
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_ItFramework.yml)
| N/A |`Run It_Framework PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_ItFramework.yml?query=event%3Aschedule)
|
+| [ PreCommit Java PVR Prism Loopback
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Java_PVR_Prism_Loopback.yml)
| N/A |`Run Java_PVR_Prism_Loopback PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Java_PVR_Prism_Loopback.yml?query=event%3Aschedule)
|
+| [ PreCommit Java Solace IO Direct
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Java_Solace_IO_Direct.yml)
| N/A |`Run Java_Solace_IO_Direct PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Java_Solace_IO_Direct.yml?query=event%3Aschedule)
|
+| [ PreCommit Prism Python
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Prism_Python.yml)
| ['3.10', '3.13'] |`Run Prism_Python PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Prism_Python.yml?query=event%3Aschedule)
|
+| [ PreCommit Python Dill tests with dill deps installed
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Dill.yml)
| ['3.12'] |`Run Python_Dill PreCommit`|
[](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Dill.yml?query=event%3Aschedule)
|
Additional PreCommit jobs running basic SDK unit test on a matrices of
operating systems. These workflows were setup differently and currently do not
support trigger phrases
@@ -405,6 +412,10 @@ PostCommit Jobs run in a schedule against master branch
and generally do not get
| [ PostCommit XVR Spark3
](https://github.com/apache/beam/actions/workflows/beam_PostCommit_XVR_Spark3.yml)
| N/A |`beam_PostCommit_XVR_Spark3.json`|
[](https://github.com/apache/beam/actions/workflows/beam_PostCommit_XVR_Spark3.yml?query=event%3Aschedule)
|
| [ PostCommit YAML Xlang Direct
](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Yaml_Xlang_Direct.yml)
| N/A |`beam_PostCommit_Yaml_Xlang_Direct.json`|
[](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Yaml_Xlang_Direct.yml?query=event%3Aschedule)
|
| [ Python Validates Container Dataflow ARM
](https://github.com/apache/beam/actions/workflows/beam_Python_ValidatesContainer_Dataflow_ARM.yml)
| ['3.9','3.10','3.11','3.12']
|`beam_Python_ValidatesContainer_Dataflow_ARM.json`|[](https://github.com/apache/beam/actions/workflows/beam_Python_ValidatesC
[...]
+| [ PostCommit Java ValidatesRunner Dataflow Streaming TagEncodingV2
](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_ValidatesRunner_Dataflow_Streaming_TagEncodingV2.yml)
| N/A
|`beam_PostCommit_Java_ValidatesRunner_Dataflow_Streaming_TagEncodingV2.json`|
[
| N/A |`beam_PostCommit_Java_ValidatesRunner_Dataflow_Streaming_Engine.json`|
[](h
[...]
+| [ PostCommit Python Portable Flink
](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Python_Portable_Flink.yml)
| N/A |`beam_PostCommit_Python_Portable_Flink.json`|
[](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Python_Portable_Flink.yml?query=event%3Aschedule)
|
+| [ PostCommit Python Xlang IO Direct
](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Python_Xlang_IO_Direct.yml)
| N/A |`beam_PostCommit_Python_Xlang_IO_Direct.json`|
[](https://github.com/apache/beam/actions/workflows/beam_PostCommit_Python_Xlang_IO_Direct.yml?query=event%3Aschedule)
|
### PerformanceTests and Benchmark Jobs
@@ -446,6 +457,7 @@ PostCommit Jobs run in a schedule against master branch and
generally do not get
| [ PerformanceTests XmlIOIT HDFS
](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_XmlIOIT_HDFS.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_XmlIOIT_HDFS.yml?query=event%3Aschedule)
| [ PerformanceTests XmlIOIT
](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_XmlIOIT.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_XmlIOIT.yml?query=event%3Aschedule)
| [ PerformanceTests xlang KafkaIO Python
](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_xlang_KafkaIO_Python.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_PerformanceTests_xlang_KafkaIO_Python.yml?query=event%3Aschedule)
+| [ Python Cost Benchmarks Dataflow
](https://github.com/apache/beam/actions/workflows/beam_Python_CostBenchmarks_Dataflow.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Python_CostBenchmarks_Dataflow.yml?query=event%3Aschedule)
|
### LoadTests Jobs
@@ -502,6 +514,12 @@ PostCommit Jobs run in a schedule against master branch
and generally do not get
| [ LoadTests Python ParDo Flink Streaming
](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_ParDo_Flink_Streaming.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_ParDo_Flink_Streaming.yml?query=event%3Aschedule)
| [ LoadTests Python SideInput Dataflow Batch
](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_SideInput_Dataflow_Batch.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_SideInput_Dataflow_Batch.yml?query=event%3Aschedule)
| [ LoadTests Python Smoke
](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_Smoke.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Python_Smoke.yml?query=event%3Aschedule)
+| [ LoadTests Java PubsubIO
](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Java_PubsubIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_LoadTests_Java_PubsubIO.yml?query=event%3Aschedule)
|
+| [ StressTests Java BigQueryIO
](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_BigQueryIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_BigQueryIO.yml?query=event%3Aschedule)
|
+| [ StressTests Java BigTableIO
](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_BigTableIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_BigTableIO.yml?query=event%3Aschedule)
|
+| [ StressTests Java KafkaIO
](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_KafkaIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_KafkaIO.yml?query=event%3Aschedule)
|
+| [ StressTests Java PubSubIO
](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_PubSubIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_PubSubIO.yml?query=event%3Aschedule)
|
+| [ StressTests Java SpannerIO
](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_SpannerIO.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_StressTests_Java_SpannerIO.yml?query=event%3Aschedule)
|
### Other Jobs
@@ -522,3 +540,8 @@ PostCommit Jobs run in a schedule against master branch and
generally do not get
| [ Release Nightly Snapshot Python
](https://github.com/apache/beam/actions/workflows/beam_Release_Python_NightlySnapshot.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Release_Python_NightlySnapshot.yml?query=event%3Aschedule)
|
| [ Rotate IO-Datastores Cluster Credentials
](https://github.com/apache/beam/actions/workflows/beam_IODatastoresCredentialsRotation.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_IODatastoresCredentialsRotation.yml?query=event%3Aschedule)
|
| [ Rotate Metrics Cluster Credentials
](https://github.com/apache/beam/actions/workflows/beam_MetricsCredentialsRotation.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_MetricsCredentialsRotation.yml?query=event%3Aschedule)
|
+| [ Beam Metrics Report
](https://github.com/apache/beam/actions/workflows/beam_Metrics_Report.yml) |
N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Metrics_Report.yml?query=event%3Aschedule)
|
+| [ GCP Security Log Analyzer
](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_SecurityLogging.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_SecurityLogging.yml?query=event%3Aschedule)
|
+| [ Infrastructure Policy Enforcer
](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_PolicyEnforcer.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_PolicyEnforcer.yml?query=event%3Aschedule)
|
+| [ Modify the GCP User Roles according to the infra/users.yml file
](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_UsersPermissions.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_UsersPermissions.yml?query=event%3Aschedule)
|
+| [ Service Account Keys Management
](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_ServiceAccountKeys.yml)
| N/A |
[](https://github.com/apache/beam/actions/workflows/beam_Infrastructure_ServiceAccountKeys.yml?query=event%3Aschedule)
|
diff --git a/.github/workflows/beam_PreCommit_GHA.yml
b/.github/workflows/beam_PreCommit_GHA.yml
index ec6180a91e0..8a292796233 100644
--- a/.github/workflows/beam_PreCommit_GHA.yml
+++ b/.github/workflows/beam_PreCommit_GHA.yml
@@ -58,7 +58,7 @@ env:
jobs:
beam_PreCommit_GHA:
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
- runs-on: [self-hosted, ubuntu-20.04, main]
+ runs-on: [self-hosted, ubuntu-20.04, small]
strategy:
matrix:
job_name: [beam_PreCommit_GHA]
diff --git a/.github/workflows/beam_PreCommit_RAT.yml
b/.github/workflows/beam_PreCommit_RAT.yml
index 51441207fa4..308b35c5619 100644
--- a/.github/workflows/beam_PreCommit_RAT.yml
+++ b/.github/workflows/beam_PreCommit_RAT.yml
@@ -56,7 +56,7 @@ env:
jobs:
beam_PreCommit_RAT:
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
- runs-on: [self-hosted, ubuntu-20.04, main]
+ runs-on: [self-hosted, ubuntu-20.04, small]
strategy:
matrix:
job_name: [beam_PreCommit_RAT]
diff --git a/.github/workflows/beam_PreCommit_Whitespace.yml
b/.github/workflows/beam_PreCommit_Whitespace.yml
index a378991dcfc..9da6dd4e701 100644
--- a/.github/workflows/beam_PreCommit_Whitespace.yml
+++ b/.github/workflows/beam_PreCommit_Whitespace.yml
@@ -57,7 +57,7 @@ env:
jobs:
beam_PreCommit_Whitespace:
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
- runs-on: [self-hosted, ubuntu-20.04, main]
+ runs-on: [self-hosted, ubuntu-20.04, small]
strategy:
matrix:
job_name: [beam_PreCommit_Whitespace]