Knative Test Infrastructure
The test-infra
repository contains a collection of tools for testing Knative,
collecting metrics and displaying test results.
This is the main repo for the Productivity Working Group
The Productivity Working Group also has other repos:
-
Tools for github workflows
-
Shellscripts used across the repos placed in a separate repo to avoid dependency cycles
-
Release documentation and tools
-
Tools for github actions
-
knative-sandbox/actions-downstream-test
A github action to test multiple components together
-
A github action to run tests in a kind cluster
-
A performance test framework
-
Automated pull requests to fix up the code (based on github actions)
Tools we use
We use two big platforms for running automation:
-
To schedule testing and update issues. Prow handles the merge queue and makes sure every commit passes tests. Prow builds releases from release branches.
-
We use github actions for some automated tests, coordinating releases and syncronizing files between repos
Gubernator
Knative uses gubernator to provide a PR dashboard for contributions in the Knative github organization, and Spyglass to visualize test details.
TestGrid
Knative provides a health dashboard to show test, code and release health for each repo. It covers key areas such as continuous integration, code coverage, nightly release, conformance and etc.
E2E Testing
Our E2E testing uses kubetest2 to build/deploy/test Knative clusters (managed by Prow).
Contributing
If you are interested in contributing, see CONTRIBUTING.md and DEVELOPMENT.md.
Guides
To setup the CI/CD flow for a knative project, see guides.