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