A conference-companion Kotlin Multiplatform app targeting Android, iOS, JVM, and a Compose-for-Web frontend. Largest tree in the evaluation (299 Kotlin files).
EstebanCastel/KMP-IMPACT-Confetti-with-toolEstebanCastel/KMP-IMPACT-Confetti-baseline| Component | Version |
|---|---|
| AGP | 8.13 |
| Gradle wrapper | 9.3.1 |
| Kotlin | 2.2.21 |
| Compose Compiler plugin | applied (Kotlin 2.x) |
| Targets | Android, iOS, JVM, Wear, Web |
Confetti uses Gradle 9.x with AGP 8.x. The pipeline supports this combination; the Gradle 9 line is required for projects that pin AGP 8.13 or later.
The upstream joreilly/Confetti repository ships 12 workflows that depend on credentials you almost certainly do not have in your fork (Google Cloud, Firebase, App Store Connect, Android signing keystore). Leaving them enabled makes every PR look red even when KMP-IMPACT runs cleanly.
Disable them once per repository:
gh api repos/<owner>/<repo>/actions/workflows --jq \
'.workflows[] | select(.path | startswith(".github/workflows/")) |
select(.path != ".github/workflows/impact-analysis.yml") | .id' \
| while read wid; do
gh api -X PUT repos/<owner>/<repo>/actions/workflows/$wid/disable
done
Workflows you typically disable in Confetti:
android_wear_jvm.yml publish-android.yml
backend-deploy.yml publish-kmmbridge.yml
backend-test.yml verify.yml
build-and-publish-web.yml fixes.yml
ios.yml junie.yml
preview-baselines.yml preview-comment.yml
Same conservative biasing as Pokedex, plus an explicit ignore for the Wear workflow’s dependencies if you have disabled the Wear job:
- dependency-name: "androidx.wear*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
Confetti is the largest reference tree (299 Kotlin files). The static phase scales linearly with file count and completes in under 90 seconds in CI. Pages deploys can hit the concurrency cap L6 when several PRs land at once — the workflow already sets the recommended concurrency group.