Skip to content

Conversation

@gpunto
Copy link
Collaborator

@gpunto gpunto commented Dec 16, 2025

Summary by CodeRabbit

  • Chores
    • Configured automatic documentation generation and deployment to GitHub Pages as part of the release workflow, making updated documentation available to users immediately after each release.
    • Updated build configuration to integrate documentation generation tooling.

✏️ Tip: You can customize this high-level summary in your review settings.

Base automatically changed from publishing.root to develop December 18, 2025 16:22
@gpunto gpunto marked this pull request as ready for review December 24, 2025 10:28
@coderabbitai
Copy link

coderabbitai bot commented Dec 24, 2025

Walkthrough

The release workflow now automatically generates Dokka HTML documentation and publishes it to GitHub Pages during the release process. The Gradle build configuration has been updated to include the Dokka plugin alongside other build tools, with plugin declarations refactored to use aliases.

Changes

Cohort / File(s) Summary
CI/CD Release Workflow
.github/workflows/release.yml
Added two sequential steps after "Create Github Release": generates Dokka HTML documentation via ./gradlew dokkaHtmlMultimodule and deploys it to GitHub Pages using peaceiris/actions-gh-pages@v4 with target branch gh-pages.
Build Configuration
build.gradle.kts
Updated plugins block to replace explicit detekt/spotless entries with alias-based declarations; added kotlin.jvm and dokka plugins; removed apply true usage in favor of alias approach.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 With Dokka's magic, docs now bloom,
GitHub Pages sweeps each room,
Build plugins dance in harmony new,
Releases documented—fresh and true! ✨📚

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly describes the main change: adding documentation publishing to GitHub Pages in the release workflow.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch and-937/move-docs-publishing-to-release-publishing-workflow

📜 Recent review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 081d557 and c4d8853.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • build.gradle.kts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build and validate
🔇 Additional comments (3)
.github/workflows/release.yml (2)

149-150: LGTM: Dokka documentation generation step.

The step correctly invokes the Dokka multimodule task. If the task fails, the workflow will automatically fail (default behavior), preventing publication of incomplete documentation.


152-157: [rewritten review comment]
[exactly ONE classification tag]

build.gradle.kts (1)

6-6: The Dokka plugin configuration is correct as-is. Dokka 1.9.20 (in use here) supports multimodule documentation generation via the dokkaHtmlMultiModule task with default settings—no explicit configuration block is required. Default behavior automatically registers all non-test source sets and is suitable for multimodule projects.

Likely an incorrect or invalid review comment.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between b92e15c and 081d557.

📒 Files selected for processing (4)
  • .github/workflows/release.yml
  • build.gradle.kts
  • plugin/src/main/kotlin/io/getstream/android/StreamConventionPlugins.kt
  • plugin/src/main/kotlin/io/getstream/android/publishing/PublishingConfiguration.kt
🧰 Additional context used
🧬 Code graph analysis (1)
plugin/src/main/kotlin/io/getstream/android/StreamConventionPlugins.kt (1)
plugin/src/main/kotlin/io/getstream/android/publishing/PublishingConfiguration.kt (2)
  • configurePublishingRoot (39-41)
  • configurePublishingModule (43-66)
🪛 actionlint (1.7.9)
.github/workflows/release.yml

155-155: property "stream_public_bot_token" is not defined in object type {actions_runner_debug: string; actions_step_debug: string; github-token: string; github_token: string; maven-central-password: string; maven-central-username: string; signing-key: string; signing-key-id: string; signing-key-password: string}

(expression)

🔇 Additional comments (5)
build.gradle.kts (1)

3-6: LGTM! Clean migration to version catalog aliases.

The changes properly use plugin aliases and integrate Dokka at the root level for multi-module documentation generation.

.github/workflows/release.yml (1)

149-150: LGTM! Dokka generation step is correctly configured.

The step properly invokes the Dokka multi-module HTML generation task.

plugin/src/main/kotlin/io/getstream/android/publishing/PublishingConfiguration.kt (2)

39-41: LGTM! Clean separation of root-level publishing concerns.

The function properly applies Dokka at the root level for multi-module documentation generation.


43-66: Remove this comment—the Dokka plugin applications are correctly scoped to different projects.

The Dokka plugin is applied to the root project in configurePublishingRoot() and to individual modules in configurePublishingModule(). These are separate Project instances, not duplicates applied to the same project. The root-level application supports multi-module documentation generation, while module-level application enables individual dokkaJavadoc tasks required for publishing artifacts. No conflicts or issues result from this pattern.

Likely an incorrect or invalid review comment.

plugin/src/main/kotlin/io/getstream/android/StreamConventionPlugins.kt (1)

23-24: LGTM! Clean separation of root and module publishing configuration.

The changes correctly apply:

  • configurePublishingRoot() in the root convention plugin (Line 42)
  • configurePublishingModule() in all module convention plugins (Lines 69, 95, 108)

This properly separates root-level concerns (multi-module Dokka setup) from module-level concerns (individual module publishing).

Also applies to: 42-42, 69-69, 95-95, 108-108

@gpunto gpunto force-pushed the and-937/move-docs-publishing-to-release-publishing-workflow branch from 081d557 to c4d8853 Compare December 24, 2025 11:24
@aleksandar-apostolov aleksandar-apostolov merged commit 79fbccc into develop Dec 25, 2025
3 checks passed
@aleksandar-apostolov aleksandar-apostolov deleted the and-937/move-docs-publishing-to-release-publishing-workflow branch December 25, 2025 08:00
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