Jobs
This document intents to provide an overview over our jobs running via Prow, GitHub actions and Google Cloud Build. It also documents the cluster-api specific configuration in test-infra.
Builds and Tests running on the main branch
NOTE: To see which test jobs execute which tests or e2e tests, you can click on the links which lead to the respective test overviews in testgrid.
Presubmits
Legend:
- ✳️️ jobs that don’t have to be run successfully for merge
- ✴️ jobs that are not triggered automatically for every commit
Prow Presubmits:
- pull-cluster-api-build-main ./scripts/ci-build.sh
- ✳️️ pull-cluster-api-apidiff-main ./scripts/ci-apidiff.sh
- pull-cluster-api-verify-main ./scripts/ci-verify.sh
- pull-cluster-api-test-main ./scripts/ci-test.sh
- pull-cluster-api-test-mink8s-main ./scripts/ci-test.sh
- pull-cluster-api-e2e-main ./scripts/ci-e2e.sh- GINKGO_FOCUS: [PR-Blocking]
 
- GINKGO_FOCUS: 
- ✳️️ pull-cluster-api-e2e-informing-main ./scripts/ci-e2e.sh- GINKGO_FOCUS: [PR-Informing], GINKGO_SKIP:[IPv6]
 
- GINKGO_FOCUS: 
- ✳️️ pull-cluster-api-e2e-informing-ipv6-main ./scripts/ci-e2e.sh- GINKGO_FOCUS: [IPv6] [PR-Informing], IP_FAMILY:IPv6
 
- GINKGO_FOCUS: 
- ✴️ pull-cluster-api-e2e-full-main ./scripts/ci-e2e.sh- GINKGO_SKIP: [PR-Blocking] [Conformance] [K8s-Upgrade] [IPv6](i.e. “no tags”)
 
- GINKGO_SKIP: 
- ✴️ pull-cluster-api-e2e-workload-upgrade-1-27-latest-main ./scripts/ci-e2e.shFROM:stable-1.27TO:ci/latest-1.28- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
GitHub Presubmit Workflows:
- golangci-lint: golangci/golangci-lint-action
- Runs golangci-lint. Can be run locally via make lint.
 
- Runs golangci-lint. Can be run locally via 
- verify: kubernetes-sigs/kubebuilder-release-tools verifier
- Verifies the PR titles have a valid format, i.e. contains one of the valid icons.
- Verifies the PR description is valid, i.e. is long enough.
 
- Check PR Markdown links (run when markdown files changed)
- Checks markdown for broken links.
 
- dependabot (run on dependabot PRs)
- Regenerates Go modules and code.
 
- release (run on tags)
- Creates a GitHub release with release notes for the tag.
 
GitHub Weekly Workflows:
- golangci-lint: golangci/golangci-lint-action
- Weekly check all Markdown links
 
- scan-images:
- Scan all images for vulnerabilities. Can be run locally via make verify-container-images
 
- Scan all images for vulnerabilities. Can be run locally via 
Postsubmits
Prow Postsubmits:
- post-cluster-api-push-images Google Cloud Build: make release-staging
Periodics
Prow Periodics:
- periodic-cluster-api-test-main ./scripts/ci-test.sh
- periodic-cluster-api-test-mink8s-main ./scripts/ci-test.sh- KUBEBUILDER_ENVTEST_KUBERNETES_VERSION: 1.23.5
 
- KUBEBUILDER_ENVTEST_KUBERNETES_VERSION: 
- periodic-cluster-api-e2e-main ./scripts/ci-e2e.sh- GINKGO_SKIP: [Conformance] [K8s-Upgrade]|[IPv6]
 
- GINKGO_SKIP: 
- periodic-cluster-api-e2e-mink8s-main ./scripts/ci-e2e.sh- GINKGO_SKIP: [Conformance] [K8s-Upgrade]|[IPv6]
- KUBERNETES_VERSION_MANAGEMENT: stable-1.23
 
- GINKGO_SKIP: 
- periodic-cluster-api-e2e-workload-upgrade-1-22-1-23-main ./scripts/ci-e2e.shFROM:stable-1.22TO:stable-1.23- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- periodic-cluster-api-e2e-workload-upgrade-1-23-1-24-main ./scripts/ci-e2e.shFROM:stable-1.23TO:stable-1.24- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- periodic-cluster-api-e2e-workload-upgrade-1-24-1-25-main ./scripts/ci-e2e.shFROM:stable-1.24TO:stable-1.25- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- periodic-cluster-api-e2e-workload-upgrade-1-25-1-26-main ./scripts/ci-e2e.shFROM:stable-1.25TO:stable-1.26- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- periodic-cluster-api-e2e-workload-upgrade-1-26-1-27-main ./scripts/ci-e2e.shFROM:stable-1.26TO:stable-1.27- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- periodic-cluster-api-e2e-workload-upgrade-1-27-latest-main ./scripts/ci-e2e.shFROM:stable-1.27TO:ci/latest-1.28- GINKGO_FOCUS: [K8s-Upgrade]
 
- GINKGO_FOCUS: 
- cluster-api-push-images-nightly Google Cloud Build: make release-staging-nightly
Test-infra configuration
- config/jobs/image-pushing/k8s-staging-cluster-api.yaml
- Configures nightly and postsubmit jobs to push images and manifests.
 
- config/jobs/kubernetes-sigs/cluster-api/
- Configures Cluster API presubmit and periodic jobs.
 
- config/testgrids/kubernetes/sig-cluster-lifecycle/config.yaml
- Configures Cluster API testgrid dashboards.
 
- config/prow/config.yaml
- branch-protectionand- tideare configured to make the golangci-lint GitHub action mandatory for merge
 
- config/prow/plugins.yaml
- triggers: configures- /ok-to-test
- approve: disable auto-approval of PR authors, ignore GitHub reviews (/approve is explicitly required)
- milestone_applier: configures that merged PRs are automatically added to the correct milestone after merge
- repo_milestone: configures- cluster-api-maintainersas maintainers
- require_matching_label: configures- needs-triage
- plugins: enables- milestone,- overrideand- require-matching-labelplugins
- external_plugins: enables- cherrypicker
 
- label_sync/labels.yaml
- Configures labels for the cluster-apirepository.
 
- Configures labels for the