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.sh
FROM:stable-1.27
TO: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.sh
FROM:stable-1.22
TO:stable-1.23
- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-23-1-24-main
./scripts/ci-e2e.sh
FROM:stable-1.23
TO:stable-1.24
- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-24-1-25-main
./scripts/ci-e2e.sh
FROM:stable-1.24
TO:stable-1.25
- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-25-1-26-main
./scripts/ci-e2e.sh
FROM:stable-1.25
TO:stable-1.26
- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-26-1-27-main
./scripts/ci-e2e.sh
FROM:stable-1.26
TO:stable-1.27
- GINKGO_FOCUS:
[K8s-Upgrade]
- GINKGO_FOCUS:
- periodic-cluster-api-e2e-workload-upgrade-1-27-latest-main
./scripts/ci-e2e.sh
FROM:stable-1.27
TO: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-protection
andtide
are 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 mergerepo_milestone
: configurescluster-api-maintainers
as maintainersrequire_matching_label
: configuresneeds-triage
plugins
: enablesmilestone
,override
andrequire-matching-label
pluginsexternal_plugins
: enablescherrypicker
- label_sync/labels.yaml
- Configures labels for the
cluster-api
repository.
- Configures labels for the