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-26-latest-main
./scripts/ci-e2e.shFROM:stable-1.26TO:ci/latest-1.27- 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.20.2
- 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]|[ClusterClass] - KUBERNETES_VERSION_MANAGEMENT:
stable-1.20, CLUSTER_TOPOLOGY:false
- GINKGO_SKIP:
- periodic-cluster-api-e2e-workload-upgrade-1-18-1-19-main
./scripts/ci-e2e.shFROM:stable-1.18TO:stable-1.19- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-19-1-20-main
./scripts/ci-e2e.shFROM:stable-1.19TO:stable-1.20- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-20-1-21-main
./scripts/ci-e2e.shFROM:stable-1.20TO:stable-1.21- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-21-1-22-main
./scripts/ci-e2e.shFROM:stable-1.21TO:stable-1.22- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- 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-latest-main
./scripts/ci-e2e.shFROM:stable-1.26TO:ci/latest-1.27- 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-protectionandtideare configured to make the golangci-lint GitHub action mandatory for merge
- config/prow/plugins.yaml
triggers: configures/ok-to-testapprove: 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 mergerepo_milestone: configurescluster-api-maintainersas maintainersrequire_matching_label: configuresneeds-triageplugins: enablesmilestone,overrideandrequire-matching-labelpluginsexternal_plugins: enablescherrypicker
- label_sync/labels.yaml
- Configures labels for the
cluster-apirepository.
- Configures labels for the