fix: derive the formula's version from .version instead of duplicating it - #6
Merged
Merged
Conversation
…g it Reverts the release-please-computed independent versioning from the previous commit - that produced a semver number (0.2.0) totally decorrelated from which linear-cli release the formula actually points to, which is the only version number anyone actually cares about right now. Removes .release-please-manifest.json/.release-please-config.json/ the release-please workflow, and CHANGELOG.md - nothing needs them once release-please isn't managing this package's version. Keeps the Formula/linear-cli/ directory (not required without release-please, but still a reasonable, Homebrew-supported organizational choice - see the sharded Formula/a/ack.rb precedent - and costs nothing to leave in place for whenever a formula actually wants that isolation). The formula now reads .version directly (File.read(...).chomp) and interpolates it into both url lines, rather than hardcoding the version in three places (the old release-please-computed .version, plus each url) - verified by simulating Homebrew's Formula DSL enough to load the real file and confirm the resulting version/url/sha256 values are correct, both before and after a bump, and that a repeated bump with the same inputs is idempotent.
There was a problem hiding this comment.
Pull request overview
This PR realigns the tap’s versioning with the upstream rubyists/linear-cli release tags by treating Formula/linear-cli/.version as the single source of truth, and removes release-please artifacts that previously introduced a separate, unrelated semver track.
Changes:
- Derive the formula’s
versionfromFormula/linear-cli/.versionand interpolate it into the release download URLs. - Remove release-please configuration and workflow files now that release-please is no longer used.
- Remove the formula-local
CHANGELOG.mdthat was only maintained by release-please.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Formula/linear-cli/linear-cli.rb | Reads .version once and uses it to build the macOS/Linux release URLs consistently. |
| Formula/linear-cli/CHANGELOG.md | Deleted; no longer needed without release-please-managed changelog generation. |
| Formula/linear-cli/.version | Updated to the upstream release version (1.4.0). |
| .release-please-manifest.json | Deleted; release-please manifest mode no longer used. |
| .release-please-config.json | Deleted; release-please configuration no longer used. |
| .github/workflows/release-please.yaml | Deleted; removes the release-please automation workflow. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Merged
5 tasks
bougyman
added a commit
to rubyists/linear-cli
that referenced
this pull request
Aug 12, 2026
#98) ## Summary - `ci/bump_homebrew_formula.rb` now writes `Formula/linear-cli/.version` to the release tag directly (the formula's own single source of truth, per rubyists/homebrew-tap#6's matching change) instead of rewriting a literal version number inside each `url` - the `url` lines are now a constant `v#{version}/<asset>` in the formula's own source, so only the `sha256` that follows each one actually needs updating per release. - Also bumps the `vendor/rubyists-homebrew-tap` submodule pointer to the merged fix (rubyists/homebrew-tap#6). ## Test plan - [x] Verified against a real copy of the formula: correct `.version`/`sha256` output, `url` lines left untouched - [x] Confirmed idempotent - a repeated bump with the same inputs produces identical output - [x] Confirmed the resulting formula evaluates to the correct `version`/`url`/`sha256` via a small Homebrew-Formula-DSL stub - [x] `actionlint` clean on `main.yaml` - [x] `mix format --check-formatted`/`mix usage_rules.sync --check` clean in `app/` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
0.2.0) totally decorrelated from whichrubyists/linear-clirelease the formula actually points to, which is the only version number anyone actually cares about right now. See feat: bump the homebrew-tap formula automatically after each release linear-cli#95's discussion for the full "why" - release-please's conventional-commit-driven versioning and "mirror an external tool's version" are fundamentally incompatible mechanisms, not something to reconcile..release-please-manifest.json/.release-please-config.json/therelease-pleaseworkflow, andCHANGELOG.md- nothing needs them once release-please isn't managing this package's version.Formula/linear-cli/directory (not required without release-please, but still a reasonable, Homebrew-supported organizational choice - see the shardedFormula/a/ack.rbprecedent - and costs nothing to leave in place for whenever a formula actually wants that isolation)..versiondirectly (File.read(...).chomp) and interpolates it into bothurllines, rather than hardcoding the version in three places (the old release-please-computed.version, plus eachurl).Test plan
version/url/sha256values are correct.version+ new checksums) - correct output,urllines left untouchedruby -csyntax check🤖 Generated with Claude Code