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