feat: Implement automated release workflow for Android APKs, includin… - #15
Conversation
…g version bumping and GitHub Releases.
Devasy
commented
Jan 26, 2026
@coderabbitai review |
✅ Actions performedReview triggered.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughAdds an automated release pipeline: a GitHub Actions workflow to bump versions, build and publish a Flutter Android APK from main; a Dart script that increments pubspec.yaml patch/build numbers; and documentation describing the workflow, versioning, setup, and release steps. Changes
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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.
Actionable comments posted: 6
🤖 Fix all issues with AI agents
In @.github/workflows/release.yml:
- Around line 72-73: Replace the pinned GitHub Action version for the release
step: locate the uses entry "softprops/action-gh-release@v1" and update it to
"softprops/action-gh-release@v2" so the workflow runs the maintained v2 release
action; after updating, run or validate the workflow to ensure any v2-specific
inputs or outputs (if present) are still compatible with the surrounding steps
(the "Create GitHub Release" job/step).
- Around line 51-61: The workflow currently always runs the "Create Git tag"
step even when the "Commit version bump" step made no commit (id:
commit_version), which can fail or duplicate tags; modify the commit step to
detect whether git commit succeeded and emit a step output (e.g., write
committed=true/false to GITHUB_OUTPUT from the step that runs git commit using
the bump_version.outputs.version), and then make the "Create Git tag" step
conditional (use if: steps.commit_version.outputs.committed == 'true') so tags
are only created/pushed when a new commit was actually made; optionally also
check for existing tag before creating to avoid duplicate-tag errors.
- Around line 3-6: The workflow currently triggers on every push to the main
branch (the "on: push: branches: - main" block) which includes the automated
version-bump commit and can loop; modify the workflow trigger or job-level
conditions to skip runs created by the GitHub Actions bot by either adding a
job-level conditional like "if: github.actor != 'github-actions[bot]'" (or your
bot actor), or add logic in the push step that includes "[skip ci]" in the
automated commit message and skip commits containing that tag, or use
"paths-ignore" or an equivalent check to exclude the automated commit—apply this
change to the release workflow so automated version-bump pushes do not
re-trigger the release.
In `@docs/RELEASE_WORKFLOW.md`:
- Around line 19-23: The "Version Format" heading and its fenced code block lack
surrounding blank lines and a language identifier; update the Markdown so every
heading (e.g., "Version Format", "🔧 Setup Instructions") has a blank line above
and below, ensure fenced code blocks (the YAML example under "Version Format"
and the workflow diagram text block) are separated by blank lines and include
appropriate language identifiers (e.g., ```yaml for the version snippet, ```text
for the diagram). Apply the same pattern to the other flagged sections (around
the headings and fenced blocks in the ranges mentioned) to ensure consistent
spacing and parser compatibility.
In `@scripts/bump_version.dart`:
- Around line 37-41: The current logic increments both patch and build together
(variables patch and build, producing newPatch, newBuild and newVersion), which
couples patch bumps to every CI merge; change it so build increments
independently by default (newBuild = build + 1) while patch only increments when
an explicit patch bump is requested (e.g., check a bump type/flag and set
newPatch = patch + 1 only if bumpPatch/bumpType == 'patch'; otherwise newPatch =
patch), then construct newVersion = '$major.$minor.$newPatch+$newBuild'
accordingly; update any callers to pass the bump flag if needed.
- Around line 23-25: The current RegExp used to parse the version
(r'version:\s*(\d+)\.(\d+)\.(\d+)\+(\d+)') requires a +N build suffix and will
fail for "version: 1.0.0"; change the pattern to make the +build part optional
(e.g. use a non-capturing optional group for the "+digits") and then when
extracting the build from versionMatch (the code that reads
versionMatch.group(4)) handle the possible null by defaulting to 0 (or another
sensible default) before parsing; ensure you update any code that assumes the
build group always exists so it checks for null and parses accordingly.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…build, and GitHub release creation.
Devasy
commented
Jan 26, 2026
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @.github/workflows/release.yml:
- Around line 41-45: The "Bump version" step (id: bump_version) currently runs
"dart scripts/bump_version.dart" with no arguments so a patch bump is not
triggered; update the step to pass the "patch" argument to the script (i.e., run
the bump_version.dart with "patch") so the intended "patch on every merge"
behavior occurs, or alternatively update the workflow docs if you want
build-only bumps instead.
In `@docs/RELEASE_WORKFLOW.md`:
- Around line 19-30: Remove trailing whitespace on blank lines in the "Version
Format" section and surrounding markdown (the blank lines before/after the YAML
code block and between the "Version Format" header and "🔧 Setup Instructions")
to satisfy markdownlint MD009; update the RELEASE_WORKFLOW.md content by
trimming any trailing spaces on those blank lines (or run a
whitespace-trim/markdownlint autofix) so no blank line ends with spaces.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…g version bumping and GitHub Releases.
Summary by CodeRabbit
Release Notes
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.