Skip to content

Comments

Configure publishing through convention plugins#6129

Merged
VelikovPetar merged 7 commits intodevelopfrom
plugins.publishing
Feb 4, 2026
Merged

Configure publishing through convention plugins#6129
VelikovPetar merged 7 commits intodevelopfrom
plugins.publishing

Conversation

@gpunto
Copy link
Contributor

@gpunto gpunto commented Feb 4, 2026

Goal

Configure publishing through convention plugins

Implementation

  • Replace the bespoke publishing logic with the common one from the build conventions repo
  • Also removed the custom changelog-related gradle plugins and the buildSrc module with them
  • Remove separate docs release workflow, as now it's a step when publishing the release

🎨 UI Changes

None

Testing

We'll test it in the next release

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated version to 6.32.0
    • Migrated release workflow to use external build conventions
    • Updated copyright year to 2026 across source files
    • Simplified build configuration by consolidating publishing and release processes
    • Updated build dependencies to latest versions

@gpunto gpunto added the pr:ci CI changes label Feb 4, 2026
@gpunto
Copy link
Contributor Author

gpunto commented Feb 4, 2026

@coderabbitai review

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

PR checklist ✅

All required conditions are satisfied:

  • Title length is OK (or ignored by label).
  • At least one pr: label exists.
  • Sections ### Goal, ### Implementation, and ### Testing are filled.

🎉 Great job! This PR is ready for review.

@coderabbitai
Copy link

coderabbitai bot commented Feb 4, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link

coderabbitai bot commented Feb 4, 2026

Walkthrough

This pull request migrates the project from a custom, in-house release and publishing pipeline to an external convention-based system provided by stream-build-conventions-android. The changes include removing custom Gradle plugins, tasks, and version management logic; updating the GitHub Actions release workflow; simplifying module-level publishing configurations; and updating copyright headers to 2026.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
.github/workflows/publish-new-version.yml
Refactored release job from generate_release_notes to pre_release_check with minimal echo action; updated publish job to use external workflow GetStream/stream-build-conventions-android/.github/workflows/[email protected] instead of custom release-new-version; added workflow-level concurrency; added bump input requirement and explicit secrets mapping.
Gradle Version & Plugin Configuration
gradle.properties, gradle/libs.versions.toml
Added project version 6.32.0; bumped streamConventions from 0.4.0 to 0.7.1; removed dokka and mavenPublish entries; added new stream-publish library and plugin referencing streamConventions.
Root Build Configuration
build.gradle.kts
Removed publishing plugins (ReleasePlugin, ChangelogReleaseSectionPlugin, dokka, maven.publish); removed legacy release/changelog tasks and Maven publishing configuration; added streamProject publishing block; simplified DependencyUpdatesTask logic with local version checking helpers.
Build Source Infrastructure Removal
buildSrc/build.gradle.kts, buildSrc/src/main/kotlin/io/getstream/chat/android/...
Removed entire buildSrc Gradle build configuration including plugin declarations (ReleasePlugin, ChangelogReleaseSectionPlugin); deleted custom release, changelog, and version management plugins and tasks spanning 20+ files.
Local Release Script
scripts/local-release.sh
Removed entire local-release script that performed version increments, Configuration.kt updates, and Maven Local publishing with restore logic.
Sample App Version Configuration
scripts/sample-app-versioner.gradle
Updated version source from Configuration.versionName to generic version property; maintained gitVersioner fallback for CI flow.
IDE Code Style Configuration
.idea/codeStyles/Project.xml
Added JavaCodeStyleSettings block with IMPORT_LAYOUT_TABLE defining package import organization for android, androidx, com, junit, net, org, java, javax packages with static/non-static variants.
Module Publishing Configuration Removal
stream-chat-android-*/build.gradle.kts (11 modules)
Systematically removed Maven publishing and Dokka plugins and mavenPublishing DSL blocks from all library modules, eliminating artifact coordinate definitions and publishing variant configurations.
Copyright Header Updates
Multiple compose, state, ui-common, and ui-components source files
Updated copyright year from 2025 to 2026 across ~20 Kotlin/Java source files; removed one unused import in test file.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

  • PR #6060: Updates GitHub Actions workflow references to use GetStream/[email protected], aligning with the external workflow migration in this PR.
  • PR #6089: Modifies the same .idea/codeStyles/Project.xml file with import layout table changes.
  • PR #6127: Migrates release workflow and release notes setup toward stream-build-conventions label-based releases, representing related infrastructure changes.

Suggested reviewers

  • VelikovPetar

Poem

🐰 Away with custom scripts and tasks so long,
Convention now guides our release song,
From streams of plugins, we hop once more,
To build foundations we can adore.

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and concisely summarizes the main objective: replacing bespoke publishing logic with convention plugins, which is the primary change across the changeset.
Description check ✅ Passed The PR description covers the key sections including Goal, Implementation, and Testing, but lacks detail on what is being replaced and removed.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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 plugins.publishing

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.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

SDK Size Comparison 📏

SDK Before After Difference Status
stream-chat-android-client 5.26 MB 5.26 MB 0.00 MB 🟢
stream-chat-android-offline 5.48 MB 5.48 MB 0.00 MB 🟢
stream-chat-android-ui-components 10.63 MB 10.63 MB 0.00 MB 🟢
stream-chat-android-compose 12.85 MB 12.85 MB 0.00 MB 🟢

@gpunto gpunto force-pushed the plugins.publishing branch from 01aeb0d to 80eb750 Compare February 4, 2026 13:13
@gpunto gpunto force-pushed the plugins.publishing branch from 80eb750 to 661ff35 Compare February 4, 2026 13:14
@gpunto gpunto marked this pull request as ready for review February 4, 2026 13:56
@gpunto gpunto requested a review from a team as a code owner February 4, 2026 13:56
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 4, 2026

@VelikovPetar VelikovPetar merged commit da7230a into develop Feb 4, 2026
29 of 43 checks passed
@VelikovPetar VelikovPetar deleted the plugins.publishing branch February 4, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:ci CI changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants