-
Notifications
You must be signed in to change notification settings - Fork 0
Move shared workflows to the conventions repo #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
WalkthroughUpdates GitHub Action references in docs and one action.yml, and adds four new workflows: stale PR cleanup, PR quality validation, SDK size checks, and SDK size updates. No application source code changes. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (4)
⏰ 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)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Nitpick comments (4)
.github/workflows/pr-quality.yml (1)
97-122: Minor: Inconsistent indentation on line 97.The comment on line 97 has extra leading spaces. While valid YAML, aligning it with other step comments would improve readability.
- # Compute the latest sticky comment id (by our anchor). If none, output is empty. + # Compute the latest sticky comment id (by our anchor). If none, output is empty. - name: Compute sticky comment id.github/workflows/sdk-size-updates.yml (1)
44-44: Consider pinning the action reference to a specific version.The action is referenced using
@main, which could introduce instability if the main branch receives breaking changes. Consider using a tagged release or commit SHA instead.- uses: GetStream/stream-build-conventions-android/.github/actions/setup-gradle@main + uses: GetStream/stream-build-conventions-android/.github/actions/[email protected].github/workflows/sdk-size-checks.yml (2)
30-31: Document the units for tolerance thresholds.The tolerance values are used to compare size differences, but their units (kilobytes) are not documented. Adding a comment or using more descriptive names would improve maintainability.
+ # Tolerance thresholds in kilobytes (KB) MAX_TOLERANCE: 500 FINE_TOLERANCE: 250
42-42: Consider pinning the action reference to a specific version.The action is referenced using
@main, which could introduce instability if the main branch receives breaking changes. Consider using a tagged release or commit SHA instead.- uses: GetStream/stream-build-conventions-android/.github/actions/setup-gradle@main + uses: GetStream/stream-build-conventions-android/.github/actions/[email protected]
📜 Review details
Configuration used: defaults
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.
📒 Files selected for processing (7)
.github/actions/bump-version/README.md(2 hunks).github/actions/setup-gradle/README.md(1 hunks).github/actions/setup-gradle/action.yml(1 hunks).github/workflows/pr-clean-stale.yaml(1 hunks).github/workflows/pr-quality.yml(1 hunks).github/workflows/sdk-size-checks.yml(1 hunks).github/workflows/sdk-size-updates.yml(1 hunks)
🔇 Additional comments (8)
.github/actions/setup-gradle/action.yml (1)
19-22: LGTM!The update from
gradle/gradle-build-action@v3togradle/actions/setup-gradle@v3correctly reflects the official Gradle action repository restructuring. Thecache-read-onlyinput forwarding remains intact..github/actions/bump-version/README.md (1)
28-28: LGTM!The documentation correctly references the public action path, aligning with the PR's goal of consolidating shared workflows into this repository.
Also applies to: 44-44
.github/actions/setup-gradle/README.md (1)
20-20: LGTM!All usage examples consistently reference the public action path.
Also applies to: 26-26, 34-34
.github/workflows/pr-clean-stale.yaml (2)
15-30: LGTM!The stale PR configuration is well-structured with reasonable timeframes (14 days stale, 7 days to close) and clear messaging. The exempt label
pr:keep-openprovides a good escape hatch for PRs that need to remain open.
6-9: Consider removing unusedissues: writepermission.The workflow explicitly skips issues (
days-before-stale: -1anddays-before-close: -1), so theissues: writepermission appears unnecessary. Verify whetheractions/stale@v9truly requires this permission when only processing PRs..github/workflows/pr-quality.yml (1)
127-165: LGTM!The sticky comment pattern is well-implemented. Using
if: failure()andif: success()correctly gates which comment is displayed, and the anchor-based matching ensures updates rather than duplicate comments..github/workflows/sdk-size-checks.yml (1)
79-144: LGTM! Well-implemented comment upsert logic.The github-script implementation correctly:
- Handles missing baseline data gracefully (line 85, 92)
- Detects fork PRs and logs instead of commenting (lines 107-115)
- Implements proper comment upsert by finding and updating existing comments (lines 120-144)
- Provides clear status indicators based on tolerance thresholds
.github/workflows/sdk-size-updates.yml (1)
54-86: Add error handling for command failures and use set -e for the script.The script lacks error handling for commands that could fail. While
jq,du, andawkare available on GitHub-hostedubuntu-latestrunners, the script should handle potential failures gracefully. Ifduoutput is empty, the arithmetic operation on line 69 could fail. Ifjqencounters issues updating the JSON, the metrics.json file could become corrupted for subsequent iterations, but the loop continues without notification.Add
set -eat the start of the script block and consider wrapping the jq update (line 76-77) with error handling to ensure the script fails loudly if JSON manipulation fails.
c77c8f8 to
5a570f1
Compare
Moving them from https://github.com/GetStream/android-ci-actions/
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.