Publish as dhq-procodile so we can ship our own releases - #5
facundofarias wants to merge 1 commit into
Conversation
We cannot push to the `procodile` gem name on RubyGems, which is what has
kept our fixes stuck in branches. Renaming the gem removes that blocker
without changing anything for callers: gem name and executable name are
independent, so this still installs an executable called `procodile` and
every Procfile, shell script, cron job and Capistrano task keeps working
untouched. `procodile-capistrano` has no dependency on this gem -- it only
shells out to the binary, via a configurable `:procodile_binary` -- so
nothing in the deploy path needs to change either.
Alongside the rename:
- Drop `cert_chain` and `signing_key`. They point at Adam Cooke's gem
signing key, which we do not have, so `gem build` could not produce a
usable gem while they were referenced.
- Declare `logger` as a runtime dependency. lib/procodile/logger.rb
requires it, and while it is still a default gem on Ruby 3.x it is
being removed from the default set in Ruby 4.0 -- which already emits
a deprecation warning on require when running the suite.
- Set `required_ruby_version` to '>= 2.7', matching the Ruby versions
the CI matrix actually exercises.
- Ship MIT-LICENCE and README.md in the gem, so the license travels
with the package as MIT requires.
- Point homepage, source_code_uri and bug_tracker_uri at this fork, and
credit both Adam Cooke and DeployHQ as authors.
The README now leads with why this fork exists, credits the original work,
and documents the `dhq-procodile` install with its `procodile` executable.
Verified: gem builds, installs, and `procodile --version` reports 1.0.27;
`procodile status -r <app>` parses a real Procfile and reports correctly.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. WalkthroughThe repository replaces ChangesGem Packaging
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Merge Risk: ⚪ Minimal · up to The changes prepare the dhq-procodile package while retaining the procodile executable. No actionable merge-blocking risk is established; the change appears ready after normal checks. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fb555eeb79
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -0,0 +1,26 @@ | |||
| require_relative './lib/procodile/version' | |||
| Gem::Specification.new do |s| | |||
| s.name = "dhq-procodile" | |||
There was a problem hiding this comment.
Regenerate the lockfile after renaming the gem
Changing the path gem's name leaves the committed Gemfile.lock declaring procodile! rather than dhq-procodile!, and it also omits the new logger dependency. In environments using Bundler's frozen/deployment mode, bundle install now aborts because the gemspec added dhq-procodile and removed procodile, so the repository cannot be installed or tested until the lockfile is regenerated and committed.
Useful? React with 👍 / 👎.
Why
We cannot push to the
procodilegem name on RubyGems — it belongs to Adam Cooke. That is the actual reason our fixes have been stuck in branches rather than running in production.Renaming the gem removes the blocker. Gem name and executable name are independent, so this still installs an executable called
procodile, and nothing downstream changes:Procfile,Procfile.localandProcfile.optionsis untouched.procodile status | grep general_workerin our orphan-detection scripts still works.devops/procodile-scripts/procodile_startup.sh(cron) still calls bareprocodile.procodile-capistranohas no dependency on this gem — it only shells out to the binary, and via a configurable:procodile_binaryat that. The deploy path needs no change.Changes
s.name→dhq-procodilecert_chain/signing_keygem buildcould not produce a usable gem while referenced.loggerruntime deplib/procodile/logger.rbrequires it. Still a default gem on Ruby 3.x, but removed from the default set in Ruby 4.0 — the suite already emits the deprecation warning.required_ruby_version = '>= 2.7'MIT-LICENCE+README.mdin the gemsource_code_uri/bug_tracker_uri→ this forkauthors = ["Adam Cooke", "DeployHQ"],email = support@deployhq.com*.gemin.gitignoreREADME leads with why the fork exists, credits the original work, and documents the install.
Verification
gem buildsucceeds and packagesbin/procodile,MIT-LICENCE,README.md.gem install ./dhq-procodile-1.0.27.gemsucceeds; the binary resolves from the renamed gem.procodile --version→procodile 1.0.27.procodile status -r spec/apps/basicparses a real Procfile and correctly reportsProcodile supervisor isn't running.Version
Stays at 1.0.27, which is what upstream
masteralready declares but never published. Publishingdhq-procodile1.0.27 keeps the lineage legible.Licensing
MIT, unchanged.
MIT-LICENCEis untouched and now ships with the gem. All credit for the original work is Adam Cooke's.Not in this PR
deployhq/Gemfileand the host provisioning at the new gem.procodile-capistrano(81 lines, no commit since January 2018).procodilename — worth one email given the aTech/Krystal lineage, but not a blocker.🤖 Generated with Claude Code
Summary by CodeRabbit
dhq-procodile. Install the package and continue using theprocodilecommand-line executable.