test-infra

module
v0.0.0-...-8859403 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 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
  • greenhouse is a shared bazel cache we use to ensure faster build and test presubmit jobs
  • 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
  • kubetest is how our CI creates and e2e tests kubernetes clusters
  • maintenance/migratestatus is used to migrate or retire GitHub status contexts on PRs across orgs and repos
  • 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
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
ci-janitor
ci-janitor cleans up dedicated projects in k8s prowjob configs
ci-janitor cleans up dedicated projects in k8s prowjob configs
manual-trigger
manual-trigger triggers jenkins jobs based a specified github pull request
manual-trigger triggers jenkins jobs based a specified github pull request
ml/prowlog
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
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.
gcsweb
pkg/cov/junit/calculation
Package calculation calculates coverage through summarizing and filtering.
Package calculation calculates coverage through summarizing and filtering.
greenhouse implements a bazel remote cache service [1] supporting arbitrarily many workspaces stored within the same top level directory.
greenhouse implements a bazel remote cache service [1] supporting arbitrarily many workspaces stored within the same top level directory.
diskcache
Package diskcache implements disk backed cache storage for use in greenhouse
Package diskcache implements disk backed cache storage for use in greenhouse
diskutil
Package diskutil implements disk related utilities for greenhouse
Package diskutil implements disk related utilities for greenhouse
hack
images
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
pkg
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
robots
commenter
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/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
pr-labeler
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