Skip to content

Set up release-please#74

Merged
twangodev merged 4 commits into
mainfrom
setup-release-please
May 24, 2026
Merged

Set up release-please#74
twangodev merged 4 commits into
mainfrom
setup-release-please

Conversation

@twangodev
Copy link
Copy Markdown
Owner

@twangodev twangodev commented May 24, 2026

Automate releases with release-please as a job in the renamed go.yml workflow (was build.yml); build runs on every push and the release job uploads those attested artifacts when release-please cuts a release.

Summary by CodeRabbit

  • Chores
    • Updated version to v1.3.1
    • Automated release workflow enhancements for improved release management
    • Updated GitHub Actions status badge reference

Review Change Stack

twangodev added 4 commits May 23, 2026 23:15
Build matrix runs in parallel with release-please (restoring per-push CI).
The release job consumes those attested artifacts and uploads them only when
release-please cuts a release. Binary version is sourced from the main.go const
(kept in sync by release-please) so release assets match the tag.
Copilot AI review requested due to automatic review settings May 24, 2026 06:40
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 24, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR integrates Google's release-please-action into the CI/CD pipeline to automate versioned releases. A new release-please job orchestrates version detection and creates GitHub releases; the build job extracts version from main.go for binary naming; and the release job now depends on release-please outputs instead of manual release events.

Changes

Release-Please Setup and Integration

Layer / File(s) Summary
Release-please Configuration and Version Setup
release-please-config.json, .release-please-manifest.json, main.go
Release-please configuration defines Go release type with main.go as an extra-file; the manifest sets root package version to 1.3.1; CLI version constant is bumped to match the release.
Workflow Integration and Job Orchestration
.github/workflows/go.yml, README.md
Workflow is refactored with a new release-please job that exports release_created and tag_name outputs; build job extracts version from main.go using sed for binary naming; release job runs conditionally based on release-please outputs and uses the generated tag for uploads; README badge URL is updated to reference go.yml on main branch.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🐰 Release-please hops into the workflow with grace,
Automating versions at a steady pace!
From manifest to tag, the pipeline flows,
Where versioned releases are how it goes. 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Set up release-please' directly describes the main change in the changeset: adding release-please configuration and integrating it into the CI/CD workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch setup-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.

Copy link
Copy Markdown

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

Sets up automated releases for lfm-cli using release-please, moving release creation into the renamed Go workflow so that artifacts are built on pushes and attached when a release is cut.

Changes:

  • Add release-please config + manifest to manage versions and releases.
  • Update the GitHub Actions workflow to run release-please, build attested artifacts, and upload them to the created GitHub release.
  • Update README badge and align main.go version constant for release-please tracking.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
release-please-config.json Defines release-please configuration for a Go release and tracks main.go as an extra versioned file.
.release-please-manifest.json Adds the release-please manifest to track the current version for the root package.
.github/workflows/go.yml Introduces release-please job and updates release flow to upload build artifacts when a release is created.
main.go Updates version constant and marks it for release-please management.
README.md Updates the GitHub Actions status badge to the renamed workflow.
Comments suppressed due to low confidence (1)

.github/workflows/go.yml:84

  • The workflow extracts VERSION from main.go with sed, but if the pattern stops matching (e.g., const moved into a const block or reformatted), sed will still exit successfully and VERSION will be empty, producing incorrectly named artifacts (and potentially incorrect release asset names). Consider validating that VERSION is non-empty (and failing the step) before writing BINARY_NAME, or extracting the version in a less brittle way.

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

@twangodev twangodev merged commit 10e54ce into main May 24, 2026
18 of 19 checks passed
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.

2 participants