Continue even if Process.setpgrp fails #80
Merged
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.
In CircleCI, calling
Process.setpgrp
raises an "Operation not permitted" error,but other than that flatware works.
In this proposed change, we allow flatware to continue when the error is raised. Resolves #66.
If flatware is executed with --log, then it will print:
INFO -- : flatware sink continuing after: Process.setpgrp: Operation not permitted
At Carwow, we have been running flatware on CircleCI for about 1 month (with a monkey-patched Process.setpgrp), on multiple large (5k+ tests) projects, and it works great! It allowed Carwow to reduce CircleCI credits by half, and also our Docker Hub pulls (which you have to pay if doing more than 5k/day).
Example CircleCI run (flatware running flatware tests):
https://app.circleci.com/pipelines/github/PChambino/flatware/18/workflows/9ae4f8b6-65c2-4ae7-af56-ece266bc69e1/jobs/33
(The relevant log line is the first line. The process fails, but the rspec report shows no failures. There is a log line about rspec-mocks, but it is unrelated to the change or CircleCI. This is just to demonstrate the setpgrp log.)