diff --git a/docs/book/src/reference/jobs.md b/docs/book/src/reference/jobs.md index b2d748c1776b..b4c47d082b42 100644 --- a/docs/book/src/reference/jobs.md +++ b/docs/book/src/reference/jobs.md @@ -1,6 +1,7 @@ # 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 @@ -15,7 +16,7 @@ This document intents to provide an overview over our jobs running via Prow, Git Prow Presubmits: * [pull-cluster-api-build-main] `./scripts/ci-build.sh` * ✳️️ [pull-cluster-api-apidiff-main] `./scripts/ci-apidiff.sh` -* [pull-cluster-api-verify] `./scripts/ci-verify.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` @@ -30,8 +31,17 @@ Prow Presubmits: * GINKGO_FOCUS: `[K8s-Upgrade]` GitHub Presubmit Workflows: -* golangci-lint: golangci/golangci-lint-action@v2 (locally via `make lint`) -* verify: kubernetes-sigs/kubebuilder-release-tools@v0.1 verifier +* golangci-lint: golangci/golangci-lint-action + * Runs golangci-lint. Can be run locally via `make lint`. +* 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. ### Postsubmits @@ -42,14 +52,13 @@ Prow Postsubmits: 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.20.2` * [periodic-cluster-api-e2e-main] `./scripts/ci-e2e.sh` * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]|[IPv6]` -* [periodic-cluster-api-e2e-upgrade-v0-3-to-main] `./scripts/ci-e2e.sh` - * GINKGO_FOCUS: `[clusterctl-Upgrade]` -* [periodic-cluster-api-e2e-upgrade-v1-0-to-main] `./scripts/ci-e2e.sh` - * GINKGO_FOCUS: `[clusterctl-Upgrade]` * [periodic-cluster-api-e2e-mink8s-main] `./scripts/ci-e2e.sh` * GINKGO_SKIP: `[Conformance] [K8s-Upgrade]|[IPv6]|[ClusterClass]` + * KUBERNETES_VERSION_MANAGEMENT: `stable-1.20`, CLUSTER_TOPOLOGY: `false` * [periodic-cluster-api-e2e-workload-upgrade-1-18-1-19-main] `./scripts/ci-e2e.sh` FROM: `stable-1.18` TO: `stable-1.19` * GINKGO_FOCUS: `[K8s-Upgrade]` * [periodic-cluster-api-e2e-workload-upgrade-1-19-1-20-main] `./scripts/ci-e2e.sh` FROM: `stable-1.19` TO: `stable-1.20` @@ -61,20 +70,39 @@ Prow Periodics: * [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]` * [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]` * [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]` * [periodic-cluster-api-e2e-workload-upgrade-1-25-latest-main] `./scripts/ci-e2e.sh` FROM: `stable-1.25` TO: `ci/latest-1.26` * GINKGO_FOCUS: `[K8s-Upgrade]` * [cluster-api-push-images-nightly] Google Cloud Build: `make release-staging-nightly`, `make release-capd-staging-nightly` -## Builds and Tests running on releases +## 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` and `tide` 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 merge + * `repo_milestone`: configures `cluster-api-maintainers` as maintainers + * `require_matching_label`: configures `needs-triage` + * `plugins`: enables `milestone`, `override` and `require-matching-label` plugins + * `external_plugins`: enables `cherrypicker` +* label_sync/labels.yaml + * Configures labels for the `cluster-api` repository. -GitHub (On Release) Workflows: -* Update Homebrew Formula On Release: dawidd6/action-homebrew-bump-formula@v3 clusterctl [pull-cluster-api-build-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-build-main [pull-cluster-api-apidiff-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-apidiff-main -[pull-cluster-api-verify]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-verify-main +[pull-cluster-api-verify-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-verify-main [pull-cluster-api-test-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-test-main [pull-cluster-api-test-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-test-mink8s-main [pull-cluster-api-e2e-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-main @@ -83,6 +111,7 @@ GitHub (On Release) Workflows: [pull-cluster-api-e2e-full-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-full-main [pull-cluster-api-e2e-workload-upgrade-1-25-latest-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-pr-e2e-main-1-25-latest [periodic-cluster-api-test-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-test-main +[periodic-cluster-api-test-mink8s-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-test-mink8s-main [periodic-cluster-api-e2e-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-main [periodic-cluster-api-e2e-upgrade-v0-3-to-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-upgrade-v0-3-to-main [periodic-cluster-api-e2e-upgrade-v1-0-to-main]: https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi-e2e-upgrade-v1-0-to-main