test-infra

module
v0.0.0-...-8c444f9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2025 License: Apache-2.0

README

test-infra

GoDoc Build status

This repository contains tools and configuration files for the testing and automation needs of the Kubernetes project.

Our architecture diagram provides an (updated #13063) overview of how the different tools and services interact.

CI Job Management

Kubernetes uses a prow instance at prow.k8s.io to handle CI and automation for the entire project. Everyone can participate in a self-service PR-based workflow, where changes are automatically deployed after they have been reviewed. All job configs are located in config/jobs

Dashboards

Test Result Dashboards
Job and PR Dashboards

Other Tools

  • boskos manages pools of resources; our CI leases GCP projects from these pools
  • experiment is a catchall directory for one-shot tools or scripts
  • gcsweb is a UI we use to display test artifacts stored in public GCS buckets
  • ghproxy is a GitHub-aware reverse proxy cache to help keep our GitHub API token usage within rate limits
  • gopherage is a tool for manipulating Go coverage files
  • label_sync creates, updates and migrates GitHub labels across orgs and repos based on labels.yaml file
  • kettle extracts test results from GCS and puts them into bigquery
  • kubetest2 is how our CI creates and e2e tests kubernetes clusters
  • metrics runs queries against bigquery to generate metrics based on test results
  • robots/commenter is used by some of our jobs to comment on GitHub issues

Contributing

Please see CONTRIBUTING.MD

Directories

Path Synopsis
def
configmap command
configmap will write a configmap to --output from --data=name=/path/to/source
configmap will write a configmap to --output from --data=name=/path/to/source
experiment
bumpmonitoring command
ci-janitor command
ci-janitor cleans up dedicated projects in k8s prowjob configs
ci-janitor cleans up dedicated projects in k8s prowjob configs
coverage command
manual-trigger command
manual-trigger triggers jenkins jobs based a specified github pull request
manual-trigger triggers jenkins jobs based a specified github pull request
ml/analyze command
ml/prowlog command
Package main will process annotated builds listed in the tsv file.
Package main will process annotated builds listed in the tsv file.
ml/prowlog/csv command
Package main will create a CSV dataset by reading the specified zip file.
Package main will create a CSV dataset by reading the specified zip file.
prowjob-report command
update-hook command
ksandbox module
gcsweb
cmd/gcsweb command
pkg/cov/junit/calculation
Package calculation calculates coverage through summarizing and filtering.
Package calculation calculates coverage through summarizing and filtering.
hack
ts-rollup command
images
builder command
Package main / gke.go provides the Google Container Engine (GKE) kubetest deployer via newGKE().
Package main / gke.go provides the Google Container Engine (GKE) kubetest deployer via newGKE().
conformance
Package conformance implements conformance test kubetest code.
Package conformance implements conformance test kubetest code.
e2e
This is a label_sync tool, details in README.md
This is a label_sync tool, details in README.md
logexporter
cmd command
pkg
benchmarkjunit command
flagutil
Package flagutil contains utilities and interfaces shared between several test-infra commands.
Package flagutil contains utilities and interfaces shared between several test-infra commands.
genyaml
Package genyaml can generate an example YAML snippet from an initialized struct and decorate it with godoc comments parsed from the AST of a given file.
Package genyaml can generate an example YAML snippet from an initialized struct and decorate it with godoc comments parsed from the AST of a given file.
ghclient
Package ghclient provides a github client that wraps go-github with retry logic, rate limiting, and depagination where necessary.
Package ghclient provides a github client that wraps go-github with retry logic, rate limiting, and depagination where necessary.
releng
config-forker command
config-rotator command
robots
commenter command
Commenter provides a way to --query for issues and append a --comment to matches.
Commenter provides a way to --query for issues and append a --comment to matches.
coverage command
coverage/diff
Package diff calculates the difference of two coverage lists and produces a collection of individual coverage difference.
Package diff calculates the difference of two coverage lists and produces a collection of individual coverage difference.
coverage/downloader
Package downloader finds and downloads the coverage profile file from the latest healthy build stored in given gcs directory
Package downloader finds and downloads the coverage profile file from the latest healthy build stored in given gcs directory
issue-creator command
pr-creator command
pr-labeler command
PR labeler provides a way to add a missing ok-to-test label on trusted PRs.
PR labeler provides a way to add a missing ok-to-test label on trusted PRs.
testgrid
triage module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL