Skip to content

feat: auto-release after merge + version in issue closing comments#4957

Merged
marcusquinn merged 1 commit intomainfrom
feature/auto-release-and-version-comment
Mar 15, 2026
Merged

feat: auto-release after merge + version in issue closing comments#4957
marcusquinn merged 1 commit intomainfrom
feature/auto-release-and-version-comment

Conversation

@marcusquinn
Copy link
Owner

@marcusquinn marcusquinn commented Mar 15, 2026

Summary

  • Auto-release after merge (aidevops repo only) — After merging a PR, the full-loop now auto-bumps a patch version, creates a GitHub release with --generate-notes, and deploys via setup.sh. This closes the gap where fixes sat on main indefinitely until someone manually released.
  • Version in issue closing comments — The issue closing comment template now includes a "Released in: vX.Y.Z — run aidevops update to get this fix" line, so reporters know exactly which version contains their fix and how to get it.

Motivation

When a contributor (e.g., robstiles on issue #4954) reports a bug and a worker fixes it, the loop ended at merge + deploy. But deploy only updates the local machine — other contributors running aidevops update got nothing because no release was tagged. The reporter had no way to know the fix was available.

Design decisions

  • Always patch — Workers can't determine release significance (breaking changes, feature scope). Patch is always safe. The maintainer can manually cut minor/major releases when appropriate.
  • aidevops repo only — Other repos have their own release workflows. The auto-release is gated on REPO_SLUG == "marcusquinn/aidevops".
  • --generate-notes — Avoids the need for workers to compose release notes. GitHub auto-generates from commit messages.

Verification

Markdown lint passes clean. Single file changed (full-loop.md), no shell scripts modified.

Summary by CodeRabbit

  • Chores
    • Automated release workflow now executes after pull request merge for the aidevops repository, including version bumping, tagging, and GitHub release creation.
    • Pull request closure comments now include release version information for better tracking.
    • Improved validation logic to ensure only applicable issues are modified during workflow execution.

Two gaps in the full-loop workflow:

1. After merging a PR on the aidevops repo, no release was cut — fixes
   sat on main until someone manually released. Contributors running
   aidevops update got nothing. Now the full-loop auto-bumps a patch
   version, tags, and creates a GitHub release after every merge.

2. Issue closing comments didn't tell the reporter which version
   contained the fix. Now the template includes a 'Released in: vX.Y.Z'
   line with 'run aidevops update to get this fix' so reporters know
   exactly when and how to pick up the solution.

Auto-release is aidevops-repo-only and always uses patch (workers can't
determine if a change is minor/major — that requires human judgment).
@github-actions github-actions bot added the enhancement Auto-created from TODO.md tag label Mar 15, 2026
@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the aidevops framework's workflow by automating the release process and improving communication with contributors. It addresses the previous gap where merged fixes were not immediately released, ensuring that users can quickly access the latest patches. The changes streamline the post-merge steps, making the development cycle more efficient and transparent for bug reporters.

Highlights

  • Automated Patch Releases: Implemented an automatic patch version bump and GitHub release creation for the "marcusquinn/aidevops" repository immediately after a PR merge, ensuring fixes are available without manual intervention.
  • Enhanced Issue Closing Comments: Modified the issue closing comment template to include the release version (e.g., "Released in: vX.Y.Z") and instructions for users to update, providing clear communication to bug reporters.
Changelog
  • .agents/scripts/commands/full-loop.md
    • Reordered and added "Auto-Release" as a new step in the full-loop process.
    • Introduced a detailed section explaining the auto-release mechanism, including version bumping, Git operations, GitHub release creation, and local deployment, specifically for the aidevops repository.
    • Updated the issue closing comment template to include a placeholder for the release version.
    • Added a new instruction to include the release version in issue closing comments for the aidevops repo.
Activity
  • No specific activity (comments, reviews, progress updates) has been provided in the context for this pull request.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 15, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

The pull request modifies a DevOps automation documentation file to reorder post-merge finalization steps, introduce an auto-release workflow for the aidevops repository that automates version bumping and release creation, and enhance issue closing comments with release version tracking information.

Changes

Cohort / File(s) Summary
Workflow Documentation
.agents/scripts/commands/full-loop.md
Reordered post-merge finalization steps (7–11), added mandatory auto-release workflow including Git operations (pull, version bump, tag, commit, push), GitHub release creation, and release version inclusion in issue closing comments. Added state-gate validation to restrict modifications to OPEN issues only.

Sequence Diagram

sequenceDiagram
    participant PR as PR/Merge System
    participant Git as Git Operations
    participant GH as GitHub API
    participant Issue as Issue Tracker
    participant Deploy as Deployment System
    
    PR->>Git: Auto-Release: Pull canonical main
    Git->>Git: Bump patch version
    Git->>Git: Commit & create tag
    Git->>GH: Push commits and tags
    GH->>GH: Create release with notes
    GH-->>PR: Release created (version)
    PR->>Issue: Close issue with "Released in v{version}"
    Issue-->>PR: Issue marked as released
    PR->>Deploy: Worktree cleanup
    Deploy->>Deploy: Postflight checks
    Deploy->>Deploy: Deploy updated code
Loading

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🚀 Releases now flow like a spring in the code,
Auto-bumped versions ease the developer's load,
From merge to deploy, each step finds its place,
DevOps perfection at a world-class pace! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the two main changes: adding auto-release after merge and including version information in issue closing comments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/auto-release-and-version-comment
📝 Coding Plan
  • Generate coding plan for human review comments

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

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 364 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Sun Mar 15 21:12:43 UTC 2026: Code review monitoring started
Sun Mar 15 21:12:43 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 364

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 364
  • VULNERABILITIES: 0

Generated on: Sun Mar 15 21:12:46 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@sonarqubecloud
Copy link

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces an automated release process after a merge, which is a great improvement for closing the loop with contributors. The changes also include adding the release version to issue closing comments, which enhances communication. My review focuses on the new bash script for auto-releasing. I've identified a few potential issues related to robustness and correctness that could affect the reliability of the new automation. Specifically, I've made suggestions to ensure scripts are run in the correct directory context, to make the automation truly non-interactive, and to improve consistency.

git -C "$CANONICAL_DIR" pull origin main

# Bump patch version (updates VERSION, package.json, setup.sh, etc.)
"$HOME/.aidevops/agents/scripts/version-manager.sh" bump patch

Choose a reason for hiding this comment

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

critical

The version-manager.sh script is called without changing the directory to $CANONICAL_DIR. If this script operates on the current working directory, it will modify files in the worktree instead of the main repository checkout. This would lead to the version bump not being part of the release commit. To ensure the version is bumped in the correct location, you should change into the canonical directory before running the script.

Suggested change
"$HOME/.aidevops/agents/scripts/version-manager.sh" bump patch
(cd "$CANONICAL_DIR" && "$HOME/.aidevops/agents/scripts/version-manager.sh" bump patch)

--generate-notes

# Deploy locally
"$CANONICAL_DIR/setup.sh" 2>/dev/null || true

Choose a reason for hiding this comment

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

high

The PR description and the step list in this document both state that setup.sh should be run with --non-interactive. However, the flag is missing in the script snippet. Without it, the script might hang waiting for user input in an automated context. Additionally, 2>/dev/null || true suppresses all errors from the local deployment step, which could hide important issues. It's better to be explicit about non-interactive mode and allow errors to be visible.

Suggested change
"$CANONICAL_DIR/setup.sh" 2>/dev/null || true
"$CANONICAL_DIR/setup.sh" --non-interactive || true


# Commit, tag, push, create release
git -C "$CANONICAL_DIR" add -A
git -C "$CANONICAL_DIR" commit -m "chore(release): bump version to ${NEW_VERSION}"

Choose a reason for hiding this comment

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

medium

The git tag for the release is created with a 'v' prefix (e.g., v1.2.3), but the commit message for the version bump does not include this prefix. For consistency in versioning artifacts, it's good practice to use the same version format in both the commit message and the tag.

Suggested change
git -C "$CANONICAL_DIR" commit -m "chore(release): bump version to ${NEW_VERSION}"
git -C "$CANONICAL_DIR" commit -m "chore(release): bump version to v${NEW_VERSION}"

@marcusquinn marcusquinn merged commit c311647 into main Mar 15, 2026
18 of 19 checks passed
@marcusquinn marcusquinn deleted the feature/auto-release-and-version-comment branch March 15, 2026 21:14
alex-solovyev added a commit that referenced this pull request Mar 15, 2026
Fix 2 of 3 review findings from PR #4957 (Gemini Code Assist):

1. CRITICAL: version-manager.sh now runs inside a (cd $CANONICAL_DIR)
   subshell so the version bump targets the main repo checkout, not the
   worktree. Without this, the bumped VERSION file would be written to
   the worktree and never included in the release commit.

2. HIGH: setup.sh now passes --non-interactive to prevent hanging in
   automated/headless contexts. Removed 2>/dev/null stderr suppression
   so deployment errors are visible.

3. MEDIUM (dismissed): commit message v-prefix suggestion conflicts with
   the established repo convention (commits use bare version, tags use
   v-prefix — see git log --grep='chore(release)').

Closes #4958
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Auto-created from TODO.md tag

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant