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

2231: JCheck ran twice unnecessarily #1635

Closed
wants to merge 2 commits into from

Conversation

zhaosongzs
Copy link
Member

@zhaosongzs zhaosongzs commented Apr 11, 2024

Recently, I found sometimes JCheck ran twice unnecessarily in some prs.
For example:
openjdk/jdk#16005
openjdk/jdk#14586

In the above prs, the authors didn't update .jcheck/conf in the source branch, but skara executed jcheck twice with the jcheck config in the merged commit(merged target branch and source branch).

After investigation,l found that in this case, skara bot will make a mistake.
Let's say we have two branches:
Target branch: initialCommit <-- updateJCheckCommit <-- latestCommit
Source Branch: initialCommit <-- editCommit
In CheckRun, Skara bot would create a squashed commit(final head is editCommit and parent is latestCommit), and the squashed commit would include diffs in updateJCheckCommit, latestCommit, editCommit. Later, Skara bot would use CheckRun#isFileUpdated to check if .jcheck/conf is updated in the squashed commit and it will return true, therefore run jcheck twice.

To resolve this problem, I think we should rewrite isFileUpdated, skara bot should find the common ancestor of target branch and source branch first, then check if the file is updated between mergeBase and the head of source branch.


Progress

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

Issue

  • SKARA-2231: JCheck ran twice unnecessarily (Bug - P3)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1635

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

Using diff file

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

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 11, 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
Copy link

openjdk bot commented Apr 11, 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:

2231: JCheck ran twice unnecessarily

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 3 new commits pushed to the master branch:

  • 863ac20: 2230: IssueNotifier should use array for fixVersions
  • 4f95126: 2229: TestHost propagates too many properties to backports
  • efe600c: 2228: Remove JbsBackports

Please see this link for an up-to-date comparison between the source branch of this pull request and the master branch.
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this 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 changed the title SKARA-2231 2231: JCheck ran twice unnecessarily Apr 11, 2024
@zhaosongzs zhaosongzs marked this pull request as ready for review April 11, 2024 20:32
@openjdk openjdk bot added the rfr label Apr 11, 2024
@mlbridge
Copy link

mlbridge bot commented Apr 11, 2024

Webrevs

Copy link
Member

@erikj79 erikj79 left a comment

Choose a reason for hiding this comment

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

I think this makes sense. Good find.

@openjdk openjdk bot added the ready label Apr 12, 2024
@zhaosongzs
Copy link
Member Author

Thank you for the quick review!
/integrate

@openjdk
Copy link

openjdk bot commented Apr 12, 2024

Going to push as commit 894690e.
Since your change was applied there have been 3 commits pushed to the master branch:

  • 863ac20: 2230: IssueNotifier should use array for fixVersions
  • 4f95126: 2229: TestHost propagates too many properties to backports
  • efe600c: 2228: Remove JbsBackports

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated label Apr 12, 2024
@openjdk openjdk bot closed this Apr 12, 2024
@openjdk
Copy link

openjdk bot commented Apr 12, 2024

@zhaosongzs Pushed as commit 894690e.

💡 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