Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ test-app/log
test-app/pids
test-app/procodile.log
global.yml
*.gem
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Procodile 🐊

> **This is DeployHQ's maintained fork of [adamcooke/procodile](https://github.com/adamcooke/procodile).**
>
> Upstream has had no release since 1.0.26 (November 2019) and no commit since February 2021. Its `master` carries a version bump to 1.0.27 and a bug fix that were never published to RubyGems, and open pull requests have gone unanswered for years.
>
> We depend on Procodile to run DeployHQ in production, so we maintain it. All credit for the original work goes to Adam Cooke; this fork stays MIT licensed.
>
> **The gem is published as [`dhq-procodile`](https://rubygems.org/gems/dhq-procodile)**, because we do not own the `procodile` name on RubyGems. It still installs an executable called `procodile`, so no Procfile, script, or Capistrano config needs to change:
>
> ```
> gem install dhq-procodile
> procodile --version
> ```
>
> Upstream pull requests are left open as a courtesy, but this fork is where changes land.

Running & deploying Ruby apps to places like [Viaduct](https://viaduct.io) & Heroku is really easy but running processes on actual servers is less fun. Procodile aims to take some the stress out of running your Ruby/Rails apps and give you some of the useful process management features you get from the takes of the PaaS providers.

Procodile is a bit like [Foreman](https://github.com/ddollar/foreman) but things are designed to run in the background (as well as the foreground if you prefer) and there's a supervisor which keeps an eye on your processes and will respawn them if they die.
Expand All @@ -8,7 +23,7 @@ Procodile works out of the box with your existing `Procfile`.

* [Watch a quick screencast](https://vimeo.com/188041935)
* [Read documentation](https://github.com/adamcooke/procodile/wiki)
* [View on RubyGems](https://rubygems.org/gems/procodile)
* [Check the CHANGELOG](https://github.com/adamcooke/procodile/blob/master/CHANGELOG.md)
* [View on RubyGems](https://rubygems.org/gems/dhq-procodile)
* [Check the CHANGELOG](https://github.com/adamcooke/procodile/blob/master/CHANGELOG.md) (upstream)

![Screenshot](https://share.adam.ac/16/cAZRKUM7.png)
26 changes: 26 additions & 0 deletions dhq-procodile.gemspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
require_relative './lib/procodile/version'
Gem::Specification.new do |s|
s.name = "dhq-procodile"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

s.description = %q{A sophisticated process manager for applications running on Linux & macOS. This is DeployHQ's maintained fork of Adam Cooke's procodile, which has had no release since 2019.}
s.summary = %q{This gem will help you run processes from a Procfile on Linux/macOS machines in the background or the foreground. DeployHQ's maintained fork of procodile.}
s.homepage = "https://github.com/deployhq/procodile"
s.version = Procodile::VERSION
s.files = Dir.glob("{lib,bin}/**/*") + ['MIT-LICENCE', 'README.md']
s.require_paths = ["lib"]
s.authors = ["Adam Cooke", "DeployHQ"]
s.email = ["support@deployhq.com"]
s.licenses = ['MIT']
# Matches the Ruby versions exercised by .github/workflows/tests.yml
s.required_ruby_version = '>= 2.7'
s.metadata = {
'source_code_uri' => 'https://github.com/deployhq/procodile',
'bug_tracker_uri' => 'https://github.com/deployhq/procodile/issues'
}
s.bindir = "bin"
s.executables << 'procodile'
s.add_runtime_dependency 'json'
# `logger` is still a default gem on Ruby 3.x but is being removed from the
# default set in Ruby 4.0, which already warns on require. lib/procodile/logger.rb
# requires it, so declare it rather than relying on it being present.
s.add_runtime_dependency 'logger'
end
18 changes: 0 additions & 18 deletions procodile.gemspec

This file was deleted.