Guides understanding and working with Apache Beam's CI/CD system using GitHub Actions. Use when debugging CI failures, understanding test workflows, or modifying CI configuration.
Apache Beam uses GitHub Actions for CI/CD. Workflows are located in .github/workflows/.
beam_PreCommit_*.ymlbeam_PostCommit_*.ymlnightly-master| Workflow | Description |
|---|---|
beam_PreCommit_Java.yml | Java build and tests |
beam_PreCommit_Python.yml | Python tests |
beam_PreCommit_Go.yml | Go tests |
beam_PreCommit_RAT.yml | License header checks |
beam_PreCommit_Spotless.yml | Code formatting |
| Workflow | Description |
|---|---|
beam_PostCommit_Java.yml | Full Java test suite |
beam_PostCommit_Java_ValidatesRunner_*.yml | Runner validation tests |
beam_PostCommit_Java_Examples_*.yml | Example pipeline tests |
| Workflow | Description |
|---|---|
beam_PostCommit_Python.yml | Full Python test suite |
beam_PostCommit_Python_ValidatesRunner_*.yml | Runner validation |
beam_PostCommit_Python_Examples_*.yml | Examples |
| Workflow | Description |
|---|---|
beam_LoadTests_*.yml | Load testing |
beam_PerformanceTests_*.yml | I/O performance |
Use trigger files to run specific workflows.
Most workflows support manual triggering via GitHub UI.
Workflows requiring GCP access use these secrets:
GCP_PROJECT_ID - Project ID (e.g., apache-beam-testing)GCP_REGION - Region (e.g., us-central1)GCP_TESTING_BUCKET - Temp storage bucketGCP_PYTHON_WHEELS_BUCKET - Python wheels bucketGCP_SA_EMAIL - Service account emailGCP_SA_KEY - Base64-encoded service account keyRequired IAM roles:
beam_*.yml