Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exit code 141 for PRs with many commits due to pipefail #10

Open
tommyknows opened this issue Dec 4, 2023 · 0 comments
Open

exit code 141 for PRs with many commits due to pipefail #10

tommyknows opened this issue Dec 4, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@tommyknows
Copy link

Orb version: 1.0.0

What happened:

When opening a PR with many commits (~400, in my case, due to importing another repo), the orb fails more or less silently with an exit code 141.
The underlying reason for this is that CircleCI runs /bin/bash -eo pipefail as the default shell, with which the lint script is being invoked.

Then, this command fails because it's using head, which closes the (reading end of) the pipe before git cherry returned all the data, which makes the whole pipeline fail.

This only happens for PRs with many commits, as otherwise git cherry returns before head closes the pipe.

There's a couple of different options to mitigate the issue:

  • The orb could specify the shell parameter in it's run block and set it to something like /bin/bash only. This will turn off pipefail globally.
  • The script itself could turn off pipefail with a set +o pipefail anywhere within the script, potentially even right before the offending line, and potentially also turn it on again directly afterwards with a set -o pipefail
  • The script could use a different command than head, one that doesn't close the pipe before all data is read. For example, sed could be used.

I'm happy to open a PR for any of these, but wanted to inquire as to if there's any preference for the solution!

@tommyknows tommyknows added the bug Something isn't working label Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

1 participant