Skip to content

Commit e617e77

Browse files
committed
address comments
Change-Id: Ide9010ec1a558a1a9791f8a4bc971d33183e4805
1 parent cdd1826 commit e617e77

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

contributors/devel/sig-testing/testing-strategy.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Defining a Robust Testing Strategy
22

3-
This document outlines a testing strategy for Kubernetes features based on the **testing pyramid**, with considerations on the existing CI system's characteristics.
3+
This document outlines a testing strategy for Kubernetes features based on the [**testing pyramid**](https://martinfowler.com/articles/practical-test-pyramid.html), with considerations on the existing CI system's characteristics.
44

55
### The Testing Pyramid
66

@@ -18,12 +18,12 @@ The Kubernetes job uses [prow](https://prow.k8s.io) to implement the CI system.
1818
- **Blocking:** Prevents merging if tests fail. Use cautiously due to potential project-wide impact. We aim to have a very high bar on these jobs and ask for proof
1919
of stability, reliability and performance.
2020
- **Non-Blocking/Informational:** Provides feedback without blocking merges.
21-
- **Periodic:** Runs at scheduled intervals. Ideal for monitoring trends and catching regressions.
2221
- **Postsubmit:** Runs after code is merged. Useful for building artifacts.
22+
- **Periodic:** Runs at scheduled intervals. Ideal for monitoring trends and catching regressions.
2323

24-
#### SIG-Release Blocking and Informing jobs
24+
#### SIG Release Blocking and Informing jobs
2525

26-
SIG-release maintains two sets of jobs that decide whether the release is
26+
SIG Release maintains two sets of jobs that decide whether the release is
2727
healthy: Blocking and Informing.
2828

2929
If your feature or area is critical for the release please follow the instructions provided in https://github.com/kubernetes/sig-release/blob/master/release-blocking-jobs.md to promote your periodic jobs to be Blocking or Informing.
@@ -60,12 +60,14 @@ responsible for *running* specific tests.
6060
- Subscribe to alerts, Testgrid provides early signals if changes elsewhere in Kubernetes break your feature.
6161

6262
2. **Non-Blocking Presubmit Jobs:**
63-
- Configure presubmit jobs to run only when specific files or folders are modified.
63+
- Configure presubmit jobs to run only when specific files or folders are modified. This can be done using the `run_if_changed` [trigger in prow](https://docs.prow.k8s.io/docs/jobs/#triggering-jobs-based-on-changes).
6464
- Use OWNERS files to require approval from maintainers of the relevant codebase. This acts as a "soft block," ensuring review and accountability without the risk of halting the entire project.
6565
- Encourages maintainers to take ownership of their code's quality and stability.
6666

6767
### Example: CI Configuration
6868

69+
There are a large number of CI jobs configurations that depend on multiple facvtos, here's a basic example. Remember to adapt it to your specific needs.
70+
6971
```yaml
7072
presubmits:
7173
kubernetes/my-feature:

0 commit comments

Comments
 (0)