Uploaded image for project: 'Skara'
  1. Skara
  2. SKARA-1706

Store github checks in PR unique way

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 1.0
    • None
    • bots
    • None

    Description

      Through investigating why bot restarts triggers so much work, I discovered that certain PRs will have new CheckRuns performed even though the old metadata (cache key) should still be valid. One such PR is:

      https://github.com/openjdk/amber/pull/70

      This one is automatically generated by the merge bot, and there are several such PRs from equivalent branches, which means they all share the same source commit.

      When the PR bot performs a CheckRun, it stores the results as a GitHub check-run. This data is stored on the commit and not on the PR. In that data is a checksum of the relevant inputs in the PR. If multiple PRs share the same source commit, then they will compete with the check-runs and store their different checksum in there. This in turn means that all, or most of those PRs will always think the check is outdated when a CheckRun is performed next. Normally, new CheckRuns are only performed when a PR has had some kind of update, but on bot restart, all open PRs will be re-evaluated.

      For the immediate problem, I will see if there is some stale merge configs that can be disabled, and close out any duplicate PRs in this repo, but longer term, we may want to think about storing the check-run in a more PR specific way. Perhaps by adding the PR number to the name of the check?

      Attachments

        Issue Links

          Activity

            People

              zsong Zhao Song
              erikj Erik Joelsson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: