-
-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
recc 1.2.21 #191819
base: master
Are you sure you want to change the base?
recc 1.2.21 #191819
Conversation
Thanks for contributing to Homebrew! 🎉 It looks like you're having trouble with a CI failure. See our contribution guide for help. You may be most interested in the section on dealing with CI failures. You can find the CI logs in the Checks tab of your pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. A few suggestions.
bd370df
to
699e2df
Compare
@carlocab, thank you for your detailed review. It really helped to trim down a lot of unnecessary content. I have addressed all the review comments. I included caveat about usage that is specific to installation using Homebrew formula. I noticed a similar caveat is used for ccache. |
@sakeeb Please |
Rebased and squashed |
Formula/r/recc.rb
Outdated
(bin/"recc-#{compiler}").write <<~EOS | ||
#!/usr/bin/env sh | ||
|
||
#{bin}/recc $(command -v #{compiler}) "$@" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any scope to upstream some/all of these helpers scripts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense to add the recc-${compiler}
script. I'll also revisit our previous discussion on defining some default values for those included in recc.conf
.
If there are no major concerns, would it be acceptable to merge the formula in the meantime?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there are no major concerns, would it be acceptable to merge the formula in the meantime?
I'm afraid this is a fairly major concern to me given how much actual runtime code (not just building the software) is being shipped in this formula. It's the bulk of this formula file and this is unusual in Homebrew.
What's your relationship with upstream? Are you a user/contributor/maintainer?
Would it be tenable to ship a first version of this formulae with no compiler/server helper scripts and an upstream configuration file instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am one of the upstream maintainers. I would prefer to ship it in an out-of-the-box working state. I will move the PR to a draft state and revisit it after adding the necessary configuration and helper scripts upstream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Appreciate your patience and hard work here ❤️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed, I added the wrappers in upstream project and updated the formula to use them
RECC is a compiler launcher that caches the results on compilation and link command, and optionally forward them to a remote execution service. Remove running launchctrl command in caveat Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> recc 1.2.21 Address review comments recc 1.2.21 tests Added tests to start recc-server and run recc-cc command twice. The second run should result in a cache hit. Update test case Update test Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> recc 1.2.21: Update user configuration location Use etc as location for system wide recc.conf location. In the absense of the etc/recc.conf, a default configuration installed in prefix/etc/recc/recc.conf will be used. recc 1.2.21 Add caveat about how to invoke compiler using recc. The instructions in caveat is specific to how homebrew is configured Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Update Formula/r/recc.rb Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> recc 1.2.24 Update version Use wrapper scripts from the upstream project
Dropped the merge commit, this should now be ready for review again |
RECC is a compiler launcher that caches the results on compilation and link command, and optionally forward them to a remote execution service.
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?