Skip to content

Conversation

@thebehera
Copy link
Contributor

@thebehera thebehera commented Dec 19, 2025

Summary

  • Add CLAUDE.md for Claude Code guidance with build commands and architecture overview
  • Fix GPG signing issues in CI (SIGNING_PASSWORD secret was updated)
  • Run tests before publishing to Maven Central in merged.yaml
  • Handle existing tags gracefully in released.yaml
  • Speed up CI pipeline with job splitting, caching, and faster runners
  • Fix Android emulator hang after tests complete

Changes

CLAUDE.md

Provides guidance for Claude Code instances working in this repository:

  • Build commands (build, test, lint)
  • Architecture overview (Kotlin Multiplatform structure)
  • Platform-specific notes

CI/CD Fixes

  • merged.yaml: Added check task before publishToMavenCentral to ensure tests pass before publishing
  • released.yaml: Check if release exists before creating to avoid "tag already exists" errors
  • review.yaml: Removed redundant tasks, split into parallel jobs

CI/CD Speedups

  • review.yaml: Split into two parallel jobs:
    • Ubuntu: JVM, JS, WASM tests
    • macOS: Apple target tests (iOS/macOS)
  • Konan cache: Cache Kotlin/Native toolchains to avoid re-downloading
  • gradle.properties: Enable parallel builds and Gradle caching

Android Emulator Fix

Test plan

  • Verified GPG signing works with test workflow
  • Review workflow runs with split jobs (Apple + JVM/JS/WASM)
  • Android emulator tests pass for API 21 and API 29
  • Merged workflow publishes successfully after merge

- merged.yaml: Run tests (check) before publishing to Maven Central
- released.yaml: Skip release creation if tag already exists
- review.yaml: Remove redundant Gradle tasks (assemble, check already in build)
- Split review.yaml: Ubuntu for JVM/JS/WASM, macOS for Apple targets only
- Add Konan cache to avoid re-downloading Kotlin/Native toolchains
- Use macos-14 (M1) runners for faster Apple builds
- Enable Gradle parallel builds and caching
- Remove redundant gradle/actions/setup-gradle (setup-java cache is sufficient)
- Remove setup-chrome from merged.yaml (not needed for publishing)
- Remove publishToMavenLocal from review (not needed for PR testing)
- Add --no-build-cache for clean CI builds
Remove gradle/actions/setup-gradle which hangs during build scan upload
Add cleanup step to kill crashpad_handler processes that prevent
the emulator from shutting down cleanly. This is a known issue
with reactivecircus/android-emulator-runner (see issue #385).
@thebehera thebehera merged commit ccd89e6 into main Dec 19, 2025
4 checks passed
@thebehera thebehera deleted the fix-ci-signing-v2 branch December 19, 2025 22:27
@thebehera thebehera restored the fix-ci-signing-v2 branch December 19, 2025 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants