This is home to e2e tests used for presubmit, periodic, and postsubmit jobs.
Some of these jobs are merge-blocking, some are release-blocking.
All e2e tests must adhere to the following policies:
test/e2e/[{subpath}/]{sig}/..., e.g.test/e2e/auth - all tests owned by sig-authtest/e2e/common/storage - all tests common to cluster-level and node-level e2e tests, owned by sig-nodetest/e2e/upgrade/apps - all tests used in upgrade testing, owned by sig-apps# test/e2e/node/OWNERS # See the OWNERS docs at https://go.k8s.io/owners approvers: - alice - bob - cynthia emeritus_approvers: - dave reviewers: - sig-node-reviewers labels: - sig/node
{subpath} should have an imports.go file importing sig-owned packages (for ginkgo's benefit), e.g.// test/e2e/common/imports.go package common import ( // ensure these packages are scanned by ginkgo for e2e tests _ "k8s.io/kubernetes/test/e2e/common/network" _ "k8s.io/kubernetes/test/e2e/common/node" _ "k8s.io/kubernetes/test/e2e/common/storage" )
// test/e2e/lifecycle/framework.go package lifecycle import "k8s.io/kubernetes/test/e2e/framework" // SIGDescribe annotates the test with the SIG label. var SIGDescribe = framework.SIGDescribe("cluster-lifecycle")
// test/e2e/lifecycle/bootstrap/bootstrap_signer.go package bootstrap import ( "github.com/onsi/ginkgo" "k8s.io/kubernetes/test/e2e/lifecycle" ) var _ = lifecycle.SIGDescribe("cluster", feature.BootstrapTokens, func() { /* ... */ ginkgo.It("should sign the new added bootstrap tokens", func(ctx context.Context) { /* ... */ }) /* etc */ })
These polices are enforced:
pull-kubernetes-verifyhack/verify-e2e-test-ownership.shmake verify WHAT=e2e-test-ownership