Skip to content

Conversation

@twangodev
Copy link
Collaborator

@twangodev twangodev commented Feb 13, 2026

Summary by CodeRabbit

  • Chores
    • Implemented automated release workflow with streamlined version management and PyPI package publishing.

Copilot AI review requested due to automatic review settings February 13, 2026 09:27
@coderabbitai
Copy link

coderabbitai bot commented Feb 13, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR introduces automated release management using release-please. A new GitHub Actions workflow job is added to detect version changes on the main branch. The publish job is restructured to depend on the release-please job and trigger only when a release is created, including steps to build and publish the package to PyPI.

Changes

Cohort / File(s) Summary
Workflow Configuration
.github/workflows/python.yml
Added release-please job that runs on main pushes with output tracking. Modified publish job to depend on release-please instead of previous pipeline steps, with new conditional trigger and added checkout, build, and PyPI publish steps.
Release Management Configuration
.release-please-manifest.json, release-please-config.json
New manifest file with root version mapping "1.2.0". New config file defining Python release workflow for fish-audio-sdk package, targeting root module with version file at src/fishaudio/_version.py.
Version Management
src/fishaudio/_version.py
Added release-please version marker comment to version assignment for automated version tracking.

Sequence Diagram

sequenceDiagram
    actor Developer
    participant GitHub as GitHub Actions
    participant ReleasePlease as Release Please Action
    participant Builder as Build System (uv)
    participant PyPI as PyPI Registry

    Developer->>GitHub: Push commit to main
    GitHub->>ReleasePlease: Trigger release-please job
    ReleasePlease->>ReleasePlease: Detect version change<br/>in _version.py
    alt Version changed
        ReleasePlease->>GitHub: Output release_created=true
        GitHub->>Builder: Start publish job
        Builder->>Builder: Checkout code
        Builder->>Builder: Build package
        Builder->>PyPI: Publish package
        PyPI-->>Builder: Confirm publication
    else No version change
        ReleasePlease->>GitHub: Output release_created=false
        GitHub-->>Developer: Skip publish
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through CI with glee,
Release-please handles versioning spree!
From main branch to PyPI it flows,
Automation magic—nobody knows
How smooth deployments grow! 🚀✨

✨ 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 feat/release-please

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.

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/fishaudio/_version.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds release-please automation to manage version bumps and releases. It introduces configuration files for release-please and modifies the GitHub Actions workflow to trigger automated releases on pushes to main, replacing the previous tag-based release mechanism.

Changes:

  • Added release-please configuration files (release-please-config.json and .release-please-manifest.json)
  • Added x-release-please-version marker to _version.py
  • Introduced release-please job in the workflow that runs after all tests pass
  • Changed publish job to trigger on release creation instead of on tags

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
release-please-config.json Configures release-please for Python package with extra version file tracking
.release-please-manifest.json Tracks current version (1.2.0) for release-please
src/fishaudio/_version.py Adds marker comment for release-please to update version
.github/workflows/python.yml Adds release-please job and updates publish job to use release-please output

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@twangodev twangodev merged commit de11000 into main Feb 13, 2026
25 of 26 checks passed
@twangodev twangodev deleted the feat/release-please branch February 13, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant