Skip to content

Commit 2ee16d6

Browse files
derrickburnsclaude
andcommitted
docs: add "What CI Validates" section to README
Adds comprehensive table showing all CI validation jobs with links to example code and workflow runs. Addresses production blocker D for executable documentation and truth-linked README. Includes: - Build matrix coverage (Scala 2.12/2.13 × Spark 3.4/3.5) - 290 tests across all combinations - Examples runner with direct links to code - Cross-version persistence validation - Performance sanity checks - Python smoke tests - Security scanning (CodeQL) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b13feb4 commit 2ee16d6

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,25 @@ More recipes: see DataFrame API Examples.
5050

5151
5252

53+
## What CI Validates
54+
55+
Our comprehensive CI pipeline ensures quality across multiple dimensions:
56+
57+
| **Validation** | **What It Checks** | **Badge** |
58+
|----------------|-------------------|-----------|
59+
| **Lint & Style** | Scalastyle compliance, code formatting | Part of main CI |
60+
| **Build Matrix** | Scala 2.12.18 & 2.13.14 × Spark 3.4.0 & 3.5.1 (4 combinations) | [![CI](https://github.com/derrickburns/generalized-kmeans-clustering/actions/workflows/ci.yml/badge.svg)](https://github.com/derrickburns/generalized-kmeans-clustering/actions/workflows/ci.yml) |
61+
| **Test Matrix** | 290 tests across all Scala/Spark combinations | Part of main CI |
62+
| **Examples Runner** | All examples compile and run successfully:<br/>• [BisectingExample](src/main/scala/examples/BisectingExample.scala)<br/>• [SoftKMeansExample](src/main/scala/examples/SoftKMeansExample.scala)<br/>• [XMeansExample](src/main/scala/examples/XMeansExample.scala)<br/>• [PersistenceRoundTrip](src/main/scala/examples/PersistenceRoundTrip.scala) | Part of main CI |
63+
| **Cross-version Persistence** | Models save/load across Scala 2.12↔2.13 and Spark 3.4↔3.5 | Part of main CI |
64+
| **Performance Sanity** | Basic performance regression check (30s budget) | Part of main CI |
65+
| **Python Smoke Test** | PySpark wrapper installation and basic functionality | Part of main CI |
66+
| **Security Scanning** | CodeQL static analysis for vulnerabilities | [![CodeQL](https://github.com/derrickburns/generalized-kmeans-clustering/actions/workflows/codeql.yml/badge.svg)](https://github.com/derrickburns/generalized-kmeans-clustering/actions/workflows/codeql.yml) |
67+
68+
**View live CI results:** [CI Workflow Runs](https://github.com/derrickburns/generalized-kmeans-clustering/actions/workflows/ci.yml)
69+
70+
71+
5372
Feature Matrix
5473

5574
Algorithm DataFrame API Use Case Key Benefit

0 commit comments

Comments
 (0)