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

recc 1.2.21 #191819

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

recc 1.2.21 #191819

wants to merge 1 commit into from

Conversation

sakeeb
Copy link

@sakeeb sakeeb commented Sep 25, 2024

RECC is a compiler launcher that caches the results on compilation and link command, and optionally forward them to a remote execution service.

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@github-actions github-actions bot added the new formula PR adds a new formula to Homebrew/homebrew-core label Sep 25, 2024
Copy link
Contributor

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.

Copy link
Member

@carlocab carlocab left a 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.

Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Show resolved Hide resolved
@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Sep 25, 2024
@github-actions github-actions bot added autosquash Automatically squash pull request commits according to Homebrew style. and removed autosquash Automatically squash pull request commits according to Homebrew style. labels Sep 25, 2024
@github-actions github-actions bot added autosquash Automatically squash pull request commits according to Homebrew style. and removed autosquash Automatically squash pull request commits according to Homebrew style. labels Sep 25, 2024
@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Sep 25, 2024
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
Formula/r/recc.rb Outdated Show resolved Hide resolved
@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Sep 25, 2024
@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request and removed autosquash Automatically squash pull request commits according to Homebrew style. labels Sep 26, 2024
@sakeeb
Copy link
Author

sakeeb commented Sep 26, 2024

@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.

@github-actions github-actions bot added long build Set a long timeout for formula testing autobump new formula PR adds a new formula to Homebrew/homebrew-core and removed new formula PR adds a new formula to Homebrew/homebrew-core autobump labels Sep 27, 2024
@github-actions github-actions bot removed the automerge-skip `brew pr-automerge` will skip this pull request label Sep 27, 2024
@sakeeb sakeeb requested a review from a team as a code owner October 2, 2024 00:15
@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request workflows PR modifies GitHub Actions workflow files autobump labels Oct 2, 2024
@MikeMcQuaid
Copy link
Member

@sakeeb Please git fetch; git rebase -i origin/master and squash the commits together; right now this PR isn't reviewable unfortunately.

@github-actions github-actions bot removed automerge-skip `brew pr-automerge` will skip this pull request autobump labels Oct 2, 2024
@sakeeb
Copy link
Author

sakeeb commented Oct 2, 2024

@sakeeb Please git fetch; git rebase -i origin/master and squash the commits together; right now this PR isn't reviewable unfortunately.

Rebased and squashed

Formula/r/recc.rb Outdated Show resolved Hide resolved
(bin/"recc-#{compiler}").write <<~EOS
#!/usr/bin/env sh

#{bin}/recc $(command -v #{compiler}) "$@"
Copy link
Member

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?

Copy link
Author

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?

Copy link
Member

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?

Copy link
Author

@sakeeb sakeeb Oct 3, 2024

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.

Copy link
Member

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 ❤️

Copy link
Author

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

@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request autosquash Automatically squash pull request commits according to Homebrew style. autobump and removed new formula PR adds a new formula to Homebrew/homebrew-core labels Oct 3, 2024
@sakeeb sakeeb changed the title recc 1.2.20 recc 1.2.21 Oct 3, 2024
@github-actions github-actions bot added new formula PR adds a new formula to Homebrew/homebrew-core and removed automerge-skip `brew pr-automerge` will skip this pull request autosquash Automatically squash pull request commits according to Homebrew style. autobump labels Oct 3, 2024
@sakeeb sakeeb marked this pull request as draft October 3, 2024 13:52
@sakeeb sakeeb marked this pull request as ready for review October 11, 2024 17:49
@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Oct 12, 2024
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
@github-actions github-actions bot removed the automerge-skip `brew pr-automerge` will skip this pull request label Oct 12, 2024
@SMillerDev
Copy link
Member

Dropped the merge commit, this should now be ready for review again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
long build Set a long timeout for formula testing new formula PR adds a new formula to Homebrew/homebrew-core workflows PR modifies GitHub Actions workflow files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants