/test-infra

Test infrastructure for the Kubernetes project.

Primary LanguageGoApache License 2.0Apache-2.0

test-infra

Go Report Card GoDoc Build status

This repository was forked from k8s test-infra. Thanks for their work! This repository is aimed to change prow to work on more git providers such as gitee.

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

Our architecture diagram provides a (wildly out of date #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