Skip to content

Conversation

@gpunto
Copy link
Contributor

@gpunto gpunto commented Dec 18, 2025

Goal

AND-781: Unify CI Across SDKs

We now have a CI workflow with common steps, so we're using that

Implementation

Use shared CI workflow

🎨 UI Changes

None

Testing

The expected pipeline steps should be run

☑️Contributor Checklist

General

  • I have signed the Stream CLA (required)
  • Assigned a person / code owner group (required)
  • Thread with the PR link started in a respective Slack channel (required internally)
  • PR targets the develop branch
  • PR is linked to the GitHub issue it resolves

Code & documentation

  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Comparison screenshots added for visual changes
  • Affected documentation updated (KDocs, docusaurus, tutorial)
  • Tutorial starter kit updated
  • Examples/guides starter kits updated (stream-video-examples)

☑️Reviewer Checklist

  • XML sample runs & works
  • Compose sample runs & works
  • Tutorial starter kit
  • Example starter kits work
  • UI Changes correct (before & after images)
  • Bugs validated (bugfixes)
  • New feature tested and works
  • Release notes and docs clearly describe changes
  • All code we touched has new or updated KDocs
  • Check the SDK Size Comparison table in the CI logs

🎉 GIF

Please provide a suitable gif that describes your work on this pull request

Summary by CodeRabbit

  • Chores
    • Modernized GitHub Actions workflows by updating Ubuntu runner images from 22.04 to 24.04 across multiple pipelines.
    • Upgraded GitHub Actions checkout and peaceiris GitHub Pages actions to their latest versions.
    • Simplified the Android CI pipeline by consolidating it to use an external reusable workflow.

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 18, 2025

Walkthrough

GitHub Actions workflows are modernized and consolidated: the Android CI pipeline migrates from multiple local jobs to a single external workflow delegation, while other workflows update runner environments from Ubuntu 22.04 to 24.04 and upgrade GitHub Actions versions for improved compatibility and security.

Changes

Cohort / File(s) Summary
CI Pipeline Consolidation
.github/workflows/android.yml
Replaces five separate jobs (lint, api_check, build, unitTest, Sonar) and env block with single base-android-ci job delegating to GetStream/stream-build-conventions-android/.github/workflows/android-ci.yml@v0.6.0 using secrets: inherit
Infrastructure & Dependency Updates
.github/workflows/app-distribute.yml, internal-app-distribute.yml, release-docs.yaml
Ubuntu runner upgraded from 22.04 → 24.04; checkout action bumped v2 → v4; peaceiris GitHub Pages action v3 → v4; minor newline formatting cleanup

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Our workflows dance in unified grace,
One pipeline now takes android's place,
Ubuntu runs swift on twenty-four's stage,
Actions upgraded—a new modern age!
CI consolidated, maintenance light,
Stream's shared conventions shining bright! ✨

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Use Android CI from common workflows' clearly summarizes the main change: switching to a shared/common CI workflow for Android.
Description check ✅ Passed The description covers Goal, Implementation, UI Changes, and Testing as required; however, the GIF section is not provided and several critical contributor checklist items remain unchecked.
Linked Issues check ✅ Passed The PR implements the core objective of AND-781 by consolidating the Android CI pipeline into a shared common workflow, reducing duplication and improving consistency across SDKs.
Out of Scope Changes check ✅ Passed The PR includes workflow file updates (android.yml, app-distribute.yml, internal-app-distribute.yml, release-docs.yaml) that are all scoped to CI unification; however, minor upgrades to tool versions (ubuntu-22.04 to ubuntu-24.04, actions/checkout v2 to v4) go slightly beyond the core objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch and-781/unify-android-ci

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 Dec 18, 2025

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.

@gpunto gpunto added the pr:ci CI / GitHub Actions / workflow updates label Dec 18, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 18, 2025

SDK Size Comparison 📏

SDK Before After Difference Status
stream-video-android-core 11.94 MB 11.94 MB 0.00 MB 🟢
stream-video-android-ui-xml 5.68 MB 5.68 MB 0.00 MB 🟢
stream-video-android-ui-compose 6.27 MB 6.27 MB 0.00 MB 🟢

@gpunto gpunto force-pushed the and-781/unify-android-ci branch from 2a26070 to 2aa6433 Compare December 19, 2025 12:10
@gpunto gpunto force-pushed the and-781/unify-android-ci branch from 2aa6433 to 418bd8f Compare December 23, 2025 16:19
@gpunto gpunto force-pushed the and-781/unify-android-ci branch from 8c25d40 to 2234e86 Compare December 23, 2025 16:37
@sonarqubecloud
Copy link

@gpunto gpunto marked this pull request as ready for review December 24, 2025 08:26
@gpunto gpunto requested a review from a team as a code owner December 24, 2025 08:26
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: 0

🧹 Nitpick comments (1)
.github/workflows/release-docs.yaml (1)

15-15: Inconsistent checkout action version across workflows.

This workflow uses actions/checkout@v3.1.0 while other workflows in this PR update to actions/checkout@v4. Consider updating for consistency.

🔎 Proposed update
-        uses: actions/checkout@v3.1.0
+        uses: actions/checkout@v4
📜 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 866bfc9 and 2234e86.

📒 Files selected for processing (4)
  • .github/workflows/android.yml
  • .github/workflows/app-distribute.yml
  • .github/workflows/internal-app-distribute.yml
  • .github/workflows/release-docs.yaml
🔇 Additional comments (5)
.github/workflows/app-distribute.yml (1)

12-14: LGTM.

Runner and checkout action updates align with the CI modernization across the PR.

.github/workflows/release-docs.yaml (2)

12-12: LGTM.

Runner update to ubuntu-24.04 aligns with other workflows in this PR.


22-22: LGTM.

Updating peaceiris/actions-gh-pages to v4 is a good modernization.

.github/workflows/android.yml (1)

20-22: External workflow version v0.6.0 is current and appropriate for this delegation.

The v0.6.0 tag exists and is the latest release (published December 23, 2025). Notably, the release notes confirm this version specifically includes "Create shared Android CI workflow," which directly validates the purpose of this change. The repository shows consistent versioning history (v0.1.0 through v0.6.0) with no breaking changes noted in the changelog for this release. Verify that all required secrets are properly consumed by the external workflow through testing before merging.

.github/workflows/internal-app-distribute.yml (1)

20-22: Consider stability trade-offs before adopting ubuntu-24.04.

The actions/checkout@v4 update is compatible with ubuntu-24.04; however, GitHub's runner-images reports documented stability issues with the ubuntu-24.04 image (Jan 2025–present): slower CI run times vs. ubuntu-22.04, intermittent OOM failures (exit 137), and capacity/queueing delays on public repos. This workflow does not use Docker/QEMU (where the worst issues occur), so it should function, but performance degradation and potential transient failures are possible. Weigh the modernization benefit against reliability risk, or monitor build times and failures closely if adopting ubuntu-24.04.

@aleksandar-apostolov aleksandar-apostolov merged commit d862cef into develop Dec 24, 2025
13 checks passed
@aleksandar-apostolov aleksandar-apostolov deleted the and-781/unify-android-ci branch December 24, 2025 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:ci CI / GitHub Actions / workflow updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants