Hello, library authors! We’re conducting a short ...
# library-development
s
Hello, library authors! We’re conducting a short survey on how you use BCV — both as the old standalone plugin and through the abiValidation feature built into the Kotlin Gradle Plugin. We’d like to learn more about your workflows and CI configurations: • Do you always run API dump checks on a single CI agent? • Have you ever needed to split API dump checks across multiple CI agents? If so, how did you split them, and what motivated that decision? • If you’ve tried splitting these checks across multiple CI agents, which filtering options did you find yourself missing the most? Any additional details you can share would be greatly appreciated!
j
Single CI runner, never even considered splitting as this is not a slow process to run. For both my personal OSS libs as internal company libs @ employer.
plus1 2
m
Same, single CI runner, it just runs
./gradlew build
and therefore
checkKotlinAbi
o
Same, single CI runner, doing ABI check, lint, then tests.
h
Single CI, macOS runner to support all targets via cross compilation
r
I've had one case where I wanted to split API checks across platforms, at a previous employer so I no longer have access to dig into the details. The project was an SDK with lots of different API surfaces on different frameworks (KMP, R/N, Flutter, and more), and we had some complex CI with different runners on different platforms. When we added BCV in the Kotlin Multiplatform project, there were some complaints because CI jobs that were otherwise doing Android-only work now took measurably more time due to Gradle configuration that involved the iOS projects as part of the
apiCheck
task. If we'd had an
androidApiCheck
task that would have mitigated the issue.