The 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:
-
Reusable github workflows and actions
-
Shellscripts used across the repos placed in a separate repo to avoid dependency cycles
-
Tools used in Knative projects, intended for development and testing
-
Release documentation and tools
-
Tools for github actions
-
A performance test framework
-
Automated pull requests to fix up the code (based on github actions)
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
Knative uses Spyglass to visualize test details.
Knative provides a health dashboard to show test, code and release health for each repo. It covers key areas such as continuous integration, nightly release, conformance and etc.
Our E2E testing uses kubetest2 to build/deploy/test Knative clusters (managed by Prow).
If you are interested in contributing, see CONTRIBUTING.md and DEVELOPMENT.md.
To setup the CI/CD flow for a knative project, see guides.