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

2159: CheckRun repeats search for backport commit on each evaluation #1605

Closed
wants to merge 3 commits into from

Conversation

zhaosongzs
Copy link
Member

@zhaosongzs zhaosongzs commented Jan 26, 2024

As Erik said in the issue description, when skara bot is searching for the original commit for a backport port, it's very inefficient for GitLab because GitLab doesn't provide the good rest api as GitHub for the bot to search for a commit by hash. So Skara have no choice but go through all the repositories and it's very slow right now.

To fix it, we could store the repository name together with the commit hash in the comment, therefore the bot will only need to run the search once.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace

Issue

  • SKARA-2159: CheckRun repeats search for backport commit on each evaluation (Bug - P4)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/skara.git pull/1605/head:pull/1605
$ git checkout pull/1605

Update a local copy of the PR:
$ git checkout pull/1605
$ git pull https://git.openjdk.org/skara.git pull/1605/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1605

View PR using the GUI difftool:
$ git pr show -t 1605

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/skara/pull/1605.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jan 26, 2024

👋 Welcome back zsong! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot changed the title SKARA-2159 2159: CheckRun repeats search for backport commit on each evaluation Jan 26, 2024
@zhaosongzs zhaosongzs marked this pull request as ready for review January 26, 2024 19:22
@openjdk openjdk bot added the rfr label Jan 26, 2024
@mlbridge
Copy link

mlbridge bot commented Jan 26, 2024

Webrevs

Comment on lines +484 to +487
var repo = pr.repository().forge().repository(repoName);
if (repo.isEmpty()) {
throw new IllegalStateException("Backport comment for PR " + pr.id() + " contains bad repo name: " + repoName);
}
Copy link
Member

Choose a reason for hiding this comment

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

I think we need a fallback for all the existing PRs that currently don't have the repo stored in the comment.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah, right. That's very important. Thanks for reminding me!

var forge = pr.repository().forge();
var repoName = forge.search(hash);
if (repoName.isPresent()) {
var metadata = forge.repository(repoName.get()).flatMap(repository -> repository.commit(hash));
Copy link
Member

Choose a reason for hiding this comment

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

I find the naming of this variable confusing. Can we just call it commit?

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure

@openjdk
Copy link

openjdk bot commented Jan 26, 2024

@zhaosongzs This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

🔍 One or more changes in this pull request modifies files in areas of the source code that often require two reviewers. Please consider if this is the case for this pull request, and if so, await a second reviewer to approve this pull request before you integrate it.

🌎 Applicable reviewers for one or more changes in this pull request are spread across multiple different time zones. Please consider waiting with integrating this pull request until it has been out for review for at least 24 hours to give all reviewers a chance to review the pull request.

After integration, the commit message for the final commit will be:

2159: CheckRun repeats search for backport commit on each evaluation

Reviewed-by: erikj

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been no new commits pushed to the master branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Jan 26, 2024
@zhaosongzs
Copy link
Member Author

Thanks for the review!
/integrate

@openjdk
Copy link

openjdk bot commented Jan 29, 2024

Going to push as commit f300ab2.

@openjdk openjdk bot added the integrated label Jan 29, 2024
@openjdk openjdk bot closed this Jan 29, 2024
@openjdk
Copy link

openjdk bot commented Jan 29, 2024

@zhaosongzs Pushed as commit f300ab2.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants