sigs.k8s.io/cluster-api@v1.6.3/docs/book/src/reference/jobs.md (about) 1 # Jobs 2 3 This document intents to provide an overview over our jobs running via Prow, GitHub actions and Google Cloud Build. 4 It also documents the cluster-api specific configuration in test-infra. 5 6 ## Builds and Tests running on the main branch 7 8 > 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. 9 10 ### Presubmits 11 12 Prow Presubmits: 13 * mandatory for merge, always run: 14 * [pull-cluster-api-build-main] `./scripts/ci-build.sh` 15 * [pull-cluster-api-verify-main] `./scripts/ci-verify.sh` 16 * mandatory for merge, run if go code changes: 17 * [pull-cluster-api-test-main] `./scripts/ci-test.sh` 18 * [pull-cluster-api-e2e-main] `./scripts/ci-e2e.sh` 19 * GINKGO_FOCUS: `[PR-Blocking]` 20 * optional for merge, run if go code changes: 21 * [pull-cluster-api-apidiff-main] `./scripts/ci-apidiff.sh` 22 * mandatory for merge, run if manually triggered: 23 * [pull-cluster-api-test-mink8s-main] `./scripts/ci-test.sh` 24 * KUBEBUILDER_ENVTEST_KUBERNETES_VERSION: `1.24.2` 25 * [pull-cluster-api-e2e-mink8s-main] `./scripts/ci-e2e.sh` 26 * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]|[IPv6]` 27 * KUBERNETES_VERSION_MANAGEMENT: `stable-1.24` 28 * [pull-cluster-api-e2e-full-dualstack-and-ipv6-main] `./scripts/ci-e2e.sh` 29 * DOCKER_IN_DOCKER_IPV6_ENABLED: `true` 30 * GINKGO_SKIP: `[PR-Blocking] [Conformance] [K8s-Upgrade]` 31 * [pull-cluster-api-e2e-full-main] `./scripts/ci-e2e.sh` 32 * GINKGO_SKIP: `[PR-Blocking] [Conformance] [K8s-Upgrade]|[IPv6]` 33 * [pull-cluster-api-e2e-workload-upgrade-1-28-latest-main] `./scripts/ci-e2e.sh` FROM: `stable-1.28` TO: `ci/latest-1.29` 34 * GINKGO_FOCUS: `[K8s-Upgrade]` 35 * optional for merge, run if manually triggered: 36 * [pull-cluster-api-e2e-scale-main-experimental] `./scripts/ci-e2e-scale.sh` 37 38 GitHub Presubmit Workflows: 39 * PR golangci-lint: golangci/golangci-lint-action 40 * Runs golangci-lint. Can be run locally via `make lint`. 41 * PR verify: kubernetes-sigs/kubebuilder-release-tools verifier 42 * Verifies the PR titles have a valid format, i.e. contains one of the valid icons. 43 * Verifies the PR description is valid, i.e. is long enough. 44 * PR check Markdown links (run when markdown files changed) 45 * Checks markdown modified in PR for broken links. 46 * PR dependabot (run on dependabot PRs) 47 * Regenerates Go modules and code. 48 * PR approve GH Workflows 49 * Approves other GH workflows if the `ok-to-test` label is set. 50 51 GitHub Weekly Workflows: 52 * Weekly check all Markdown links 53 * Checks markdown across the repo for broken links. 54 * Weekly image scan: 55 * Scan all images for vulnerabilities. Can be run locally via `make verify-container-images` 56 * Weekly release test: 57 * Test the the `release` make target is working without errors. 58 59 Other Github workflows 60 * release (runs when tags are pushed) 61 * Creates a GitHub release with release notes for the tag. 62 63 ### Postsubmits 64 65 Prow Postsubmits: 66 * [post-cluster-api-push-images] Google Cloud Build: `make release-staging` 67 68 ### Periodics 69 70 Prow Periodics: 71 * [periodic-cluster-api-test-main] `./scripts/ci-test.sh` 72 * [periodic-cluster-api-test-mink8s-main] `./scripts/ci-test.sh` 73 * KUBEBUILDER_ENVTEST_KUBERNETES_VERSION: `1.24.2` 74 * [periodic-cluster-api-e2e-main] `./scripts/ci-e2e.sh` 75 * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]|[IPv6]` 76 * [periodic-cluster-api-e2e-mink8s-main] `./scripts/ci-e2e.sh` 77 * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]|[IPv6]` 78 * KUBERNETES_VERSION_MANAGEMENT: `stable-1.24` 79 * [periodic-cluster-api-e2e-dualstack-and-ipv6-main] `./scripts/ci-e2e.sh` 80 * DOCKER_IN_DOCKER_IPV6_ENABLED: `true` 81 * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]` 82 * [periodic-cluster-api-e2e-workload-upgrade-1-23-1-24-main] `./scripts/ci-e2e.sh` FROM: `stable-1.23` TO: `stable-1.24` 83 * GINKGO_FOCUS: `[K8s-Upgrade]` 84 * [periodic-cluster-api-e2e-workload-upgrade-1-24-1-25-main] `./scripts/ci-e2e.sh` FROM: `stable-1.24` TO: `stable-1.25` 85 * GINKGO_FOCUS: `[K8s-Upgrade]` 86 * [periodic-cluster-api-e2e-workload-upgrade-1-25-1-26-main] `./scripts/ci-e2e.sh` FROM: `stable-1.25` TO: `stable-1.26` 87 * GINKGO_FOCUS: `[K8s-Upgrade]` 88 * [periodic-cluster-api-e2e-workload-upgrade-1-26-1-27-main] `./scripts/ci-e2e.sh` FROM: `stable-1.26` TO: `stable-1.27` 89 * GINKGO_FOCUS: `[K8s-Upgrade]` 90 * [periodic-cluster-api-e2e-workload-upgrade-1-27-1-28-main] `./scripts/ci-e2e.sh` FROM: `stable-1.27` TO: `stable-1.28` 91 * GINKGO_FOCUS: `[K8s-Upgrade]` 92 * [periodic-cluster-api-e2e-workload-upgrade-1-28-latest-main] `./scripts/ci-e2e.sh` FROM: `stable-1.28` TO: `ci/latest-1.29` 93 * GINKGO_FOCUS: `[K8s-Upgrade]` 94 * [cluster-api-push-images-nightly] Google Cloud Build: `make release-staging-nightly` 95 96 ## Test-infra configuration 97 98 * config/jobs/image-pushing/k8s-staging-cluster-api.yaml 99 * Configures nightly and postsubmit jobs to push images and manifests. 100 * config/jobs/kubernetes-sigs/cluster-api/ 101 * Configures Cluster API presubmit and periodic jobs. 102 * config/testgrids/kubernetes/sig-cluster-lifecycle/config.yaml 103 * Configures Cluster API testgrid dashboards. 104 * config/prow/config.yaml 105 * `branch-protection` and `tide` are configured to make the golangci-lint GitHub action mandatory for merge 106 * config/prow/plugins.yaml 107 * `triggers`: configures `/ok-to-test` 108 * `approve`: disable auto-approval of PR authors, ignore GitHub reviews (/approve is explicitly required) 109 * `milestone_applier`: configures that merged PRs are automatically added to the correct milestone after merge 110 * `repo_milestone`: configures `cluster-api-maintainers` as maintainers 111 * `require_matching_label`: configures `needs-triage` 112 * `plugins`: enables `milestone`, `override` and `require-matching-label` plugins 113 * `external_plugins`: enables `cherrypicker` 114 * label_sync/labels.yaml 115 * Configures labels for the `cluster-api` repository. 116 117 118 <!-- links --> 119 [pull-cluster-api-build-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-build-main 120 [pull-cluster-api-apidiff-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-apidiff-main 121 [pull-cluster-api-verify-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-verify-main 122 [pull-cluster-api-test-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-test-main 123 [pull-cluster-api-test-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-test-mink8s-main 124 [pull-cluster-api-e2e-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-mink8s-main 125 [pull-cluster-api-e2e-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-main 126 [pull-cluster-api-e2e-informing-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-informing-main 127 [pull-cluster-api-e2e-full-dualstack-and-ipv6-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-full-dualstack-and-ipv6-main 128 [pull-cluster-api-e2e-full-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-full-main 129 [pull-cluster-api-e2e-workload-upgrade-1-28-latest-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-main-1-28-latest 130 [pull-cluster-api-e2e-scale-main-experimental]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-scale-main-experimental 131 [periodic-cluster-api-test-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-test-main 132 [periodic-cluster-api-test-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-test-mink8s-main 133 [periodic-cluster-api-e2e-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main 134 [periodic-cluster-api-e2e-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-mink8s-main 135 [periodic-cluster-api-e2e-dualstack-and-ipv6-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-dualstack-and-ipv6-main 136 [periodic-cluster-api-e2e-workload-upgrade-1-23-1-24-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-23-1-24 137 [periodic-cluster-api-e2e-workload-upgrade-1-24-1-25-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-24-1-25 138 [periodic-cluster-api-e2e-workload-upgrade-1-25-1-26-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-25-1-26 139 [periodic-cluster-api-e2e-workload-upgrade-1-26-1-27-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-26-1-27 140 [periodic-cluster-api-e2e-workload-upgrade-1-27-1-28-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-27-1-28 141 [periodic-cluster-api-e2e-workload-upgrade-1-28-latest-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main-1-28-latest 142 [cluster-api-push-images-nightly]: https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#cluster-api-push-images-nightly 143 [post-cluster-api-push-images]: https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-cluster-api-push-images