sigs.k8s.io/cluster-api@v1.7.1/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 The dashboards for the ProwJobs can be found here: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api 11 12 More details about ProwJob configurations can be found here: [cluster-api-prowjob-gen.yaml](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/cluster-api/cluster-api-prowjob-gen.yaml) 13 14 ### Presubmits 15 16 Prow Presubmits: 17 * mandatory for merge, always run: 18 * pull-cluster-api-build-main `./scripts/ci-build.sh` 19 * pull-cluster-api-verify-main `./scripts/ci-verify.sh` 20 * mandatory for merge, run if go code changes: 21 * pull-cluster-api-test-main `./scripts/ci-test.sh` 22 * pull-cluster-api-e2e-blocking-main `./scripts/ci-e2e.sh` 23 * GINKGO_FOCUS: `[PR-Blocking]` 24 * optional for merge, run if go code changes: 25 * pull-cluster-api-apidiff-main `./scripts/ci-apidiff.sh` 26 * mandatory for merge, run if manually triggered: 27 * pull-cluster-api-test-mink8s-main `./scripts/ci-test.sh` 28 * pull-cluster-api-e2e-mink8s-main `./scripts/ci-e2e.sh` 29 * GINKGO_SKIP: `[Conformance]|[IPv6]` 30 * pull-cluster-api-e2e-dualstack-and-ipv6-main `./scripts/ci-e2e.sh` 31 * DOCKER_IN_DOCKER_IPV6_ENABLED: `true` 32 * GINKGO_SKIP: `[Conformance]` 33 * pull-cluster-api-e2e-main `./scripts/ci-e2e.sh` 34 * GINKGO_SKIP: `[Conformance]|[IPv6]` 35 * pull-cluster-api-e2e-upgrade-* `./scripts/ci-e2e.sh` 36 * GINKGO_FOCUS: `[Conformance] [K8s-Upgrade]` 37 * pull-cluster-api-e2e-conformance-main `./scripts/ci-e2e.sh` 38 * GINKGO_FOCUS: `[Conformance] [K8s-Install]` 39 * pull-cluster-api-e2e-conformance-ci-latest-main `./scripts/ci-e2e.sh` 40 * GINKGO_FOCUS: `[Conformance] [K8s-Install-ci-latest]` 41 42 GitHub Presubmit Workflows: 43 * PR golangci-lint: golangci/golangci-lint-action 44 * Runs golangci-lint. Can be run locally via `make lint`. 45 * PR verify: kubernetes-sigs/kubebuilder-release-tools verifier 46 * Verifies the PR titles have a valid format, i.e. contains one of the valid icons. 47 * Verifies the PR description is valid, i.e. is long enough. 48 * PR check Markdown links (run when markdown files changed) 49 * Checks markdown modified in PR for broken links. 50 * PR dependabot (run on dependabot PRs) 51 * Regenerates Go modules and code. 52 * PR approve GH Workflows 53 * Approves other GH workflows if the `ok-to-test` label is set. 54 55 GitHub Weekly Workflows: 56 * Weekly check all Markdown links 57 * Checks markdown across the repo for broken links. 58 * Weekly image scan: 59 * Scan all images for vulnerabilities. Can be run locally via `make verify-container-images` 60 * Weekly release test: 61 * Test the the `release` make target is working without errors. 62 63 Other Github workflows 64 * release (runs when tags are pushed) 65 * Creates a GitHub release with release notes for the tag. 66 67 ### Postsubmits 68 69 Prow Postsubmits: 70 * [post-cluster-api-push-images] Google Cloud Build: `make release-staging` 71 72 ### Periodics 73 74 Prow Periodics: 75 * periodic-cluster-api-test-main `./scripts/ci-test.sh` 76 * periodic-cluster-api-test-mink8s-main `./scripts/ci-test.sh` 77 * periodic-cluster-api-e2e-main `./scripts/ci-e2e.sh` 78 * GINKGO_SKIP: `[Conformance]|[IPv6]` 79 * periodic-cluster-api-e2e-mink8s-main `./scripts/ci-e2e.sh` 80 * GINKGO_SKIP: `[Conformance]|[IPv6]` 81 * periodic-cluster-api-e2e-dualstack-and-ipv6-main `./scripts/ci-e2e.sh` 82 * DOCKER_IN_DOCKER_IPV6_ENABLED: `true` 83 * GINKGO_SKIP: `[Conformance]` 84 * periodic-cluster-api-e2e-upgrade-* `./scripts/ci-e2e.sh` 85 * GINKGO_FOCUS: `[Conformance] [K8s-Upgrade]` 86 * periodic-cluster-api-e2e-conformance-main `./scripts/ci-e2e.sh` 87 * GINKGO_FOCUS: `[Conformance] [K8s-Install]` 88 * periodic-cluster-api-e2e-conformance-ci-latest-main `./scripts/ci-e2e.sh` 89 * GINKGO_FOCUS: `[Conformance] [K8s-Install-ci-latest]` 90 * [cluster-api-push-images-nightly] Google Cloud Build: `make release-staging-nightly` 91 92 ## Test-infra configuration 93 94 * config/jobs/image-pushing/k8s-staging-cluster-api.yaml 95 * Configures nightly and postsubmit jobs to push images and manifests. 96 * config/jobs/kubernetes-sigs/cluster-api/ 97 * Configures Cluster API presubmit and periodic jobs. 98 * config/testgrids/kubernetes/sig-cluster-lifecycle/config.yaml 99 * Configures Cluster API testgrid dashboards. 100 * config/prow/config.yaml 101 * `branch-protection` and `tide` are configured to make the golangci-lint GitHub action mandatory for merge 102 * config/prow/plugins.yaml 103 * `triggers`: configures `/ok-to-test` 104 * `approve`: disable auto-approval of PR authors, ignore GitHub reviews (/approve is explicitly required) 105 * `milestone_applier`: configures that merged PRs are automatically added to the correct milestone after merge 106 * `repo_milestone`: configures `cluster-api-maintainers` as maintainers 107 * `require_matching_label`: configures `needs-triage` 108 * `plugins`: enables `milestone`, `override` and `require-matching-label` plugins 109 * `external_plugins`: enables `cherrypicker` 110 * label_sync/labels.yaml 111 * Configures labels for the `cluster-api` repository. 112 113 114 <!-- links --> 115 [cluster-api-push-images-nightly]: https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#cluster-api-push-images-nightly 116 [post-cluster-api-push-images]: https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-cluster-api-push-images