Provides insight into Apache Beam's CI/CD infrastructure and GitHub Actions test workflows.

Install

mkdir -p .claude/skills/ci-cd-apache && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17524" && unzip -o skill.zip -d .claude/skills/ci-cd-apache && rm skill.zip

Installs to .claude/skills/ci-cd-apache

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

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.
179 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Understand Apache Beam's CI/CD system using GitHub Actions
  • Debug CI failures by locating relevant workflow files
  • Identify PreCommit and PostCommit workflow types
  • Understand test workflows for Java, Python, and Go
  • Trigger specific workflows manually
  • Analyze common failure patterns like flaky tests or timeouts

How it works

This skill guides users through Apache Beam's GitHub Actions-based CI/CD system. It explains workflow types, key workflows, and how to trigger tests and understand test results.

Inputs & outputs

You give it
Debug a CI failure in Apache Beam
You get back
Identification of the relevant workflow file and steps to find logs

When to use ci-cd

  • Debug CI build failure
  • Understand test workflow
  • Modify CI configuration
  • Locate PreCommit tests

About this skill

CI/CD in Apache Beam

Overview

Apache Beam uses GitHub Actions for CI/CD. Workflows are located in .github/workflows/.

Workflow Types

PreCommit Workflows

  • Run on PRs and merges
  • Validate code changes before merge
  • Naming: beam_PreCommit_*.yml

PostCommit Workflows

  • Run after merge and on schedule
  • More comprehensive testing
  • Naming: beam_PostCommit_*.yml

Scheduled Workflows

  • Run nightly on master
  • Check for external dependency impacts
  • Tag master with nightly-master

Key Workflows

PreCommit

WorkflowDescription
beam_PreCommit_Java.ymlJava build and tests
beam_PreCommit_Python.ymlPython tests
beam_PreCommit_Go.ymlGo tests
beam_PreCommit_RAT.ymlLicense header checks
beam_PreCommit_Spotless.ymlCode formatting

PostCommit - Java

WorkflowDescription
beam_PostCommit_Java.ymlFull Java test suite
beam_PostCommit_Java_ValidatesRunner_*.ymlRunner validation tests
beam_PostCommit_Java_Examples_*.ymlExample pipeline tests

PostCommit - Python

WorkflowDescription
beam_PostCommit_Python.ymlFull Python test suite
beam_PostCommit_Python_ValidatesRunner_*.ymlRunner validation
beam_PostCommit_Python_Examples_*.ymlExamples

Load & Performance Tests

WorkflowDescription
beam_LoadTests_*.ymlLoad testing
beam_PerformanceTests_*.ymlI/O performance

Triggering Tests

Automatic

  • PRs trigger PreCommit tests
  • Merges trigger PostCommit tests

Triggering Specific Workflows

Use trigger files to run specific workflows.

Workflow Dispatch

Most workflows support manual triggering via GitHub UI.

Understanding Test Results

Finding Logs

  1. Go to PR → Checks tab
  2. Click on failed workflow
  3. Expand failed job
  4. View step logs

Common Failure Patterns

Flaky Tests

  • Random failures unrelated to change
  • Solution: Use trigger files to re-run the specific workflow.

Timeout

  • Increase timeout in workflow if justified
  • Or optimize test

Resource Exhaustion

  • GCP quota issues
  • Check project settings

GCP Credentials

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 bucket
  • GCP_PYTHON_WHEELS_BUCKET - Python wheels bucket
  • GCP_SA_EMAIL - Service account email
  • GCP_SA_KEY - Base64-encoded service account key

Required IAM roles:

  • Storage Admin
  • Dataflow Admin
  • Artifact Registry Writer
  • BigQuery Data Editor
  • Service Account User

Self-hosted vs GitHub-hosted Runners

Self-hosted (majority of workflows)

  • Pre-configured with dependencies
  • GCP credentials pre-configured
  • Naming: beam_*.yml

GitHub-hosted

  • Used for cross-platform testing (Linux, macOS, Windows)
  • May need explicit credential setup

Workflow Structure

name: Workflow Name
on:
  push:
    branches: [master]
  pull_request:
    branches: [master]
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch:

jobs:
  build:
    runs-on: [self-hosted, ...]
    steps:
      - uses: actions/checkout@v4
      - name: Run Gradle
        run: ./gradlew :task:name

Local Debugging

Run Same Commands as CI

Check workflow file's run commands:

./gradlew :sdks:java:core:test
./gradlew :sdks:python:test

Common Issues

  • Clean gradle cache: rm -rf ~/.gradle .gradle
  • Remove build directory: rm -rf build
  • Check Java version matches CI

Snapshot Builds

Locations

Release Workflows

WorkflowPurpose
cut_release_branch.ymlCreate release branch
build_release_candidate.ymlBuild RC
finalize_release.ymlFinalize release
publish_github_release_notes.ymlPublish notes

When not to use it

  • When the project does not use GitHub Actions for CI/CD

Limitations

  • Specific to Apache Beam's CI/CD system
  • Focuses on GitHub Actions workflows

How it compares

This skill provides a structured guide to Apache Beam's specific CI/CD implementation, offering targeted debugging and configuration insights beyond general GitHub Actions documentation.

Compared to similar skills

ci-cd side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ci-cd (this skill)05moReviewIntermediate
e2e-testing-patterns82moNo flagsIntermediate
testing-workflow169moReviewIntermediate
perf-lighthouse135moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry