{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by ti-chi-bot[bot]"
        },
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by ti-chi-bot[bot]"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 27070,
      "buildableTimeMillis" : 27070,
      "buildingDurationMillis" : 127012,
      "executingTimeMillis" : 127012,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 6528,
      "waitingTimeMillis" : 6528
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1252,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
            "branch" : [
              {
                "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
                "name" : "origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
            "branch" : [
              {
                "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
                "name" : "origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
        "branch" : [
          {
            "SHA1" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
            "name" : "origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/PingCAP-QE/ci.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1252",
  "duration" : 127012,
  "estimatedDuration" : 54910,
  "executor" : None,
  "fullDisplayName" : "seed #1252",
  "id" : "1252",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1252,
  "queueId" : 2742576,
  "result" : "SUCCESS",
  "timestamp" : 1766044107884,
  "url" : "https://do.pingcap.net/jenkins/job/seed/1252/",
  "builtOn" : "default-pn8dr",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/reporters/ci/flaky-tests/core/OwnerResolver.ts",
          "tools/reporters/ci/flaky-tests/core/OwnerResolver.test.ts",
          "tools/reporters/ci/flaky-tests/core/types.ts"
        ],
        "commitId" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
        "timestamp" : 1766044069000,
        "author" : {
          "absoluteUrl" : "https://do.pingcap.net/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "fix: prioritize exact suite matches over parent suite matches (#4008)\u000a\u000a### Summary\u000a\u000aI successfully fixed the issue where the flaky owner for the\u000a`pkg/executor/importer` package was incorrectly reported as\u000a`sunruoxi@pingcap.com` instead of `bear.c@pingcap.com`.\u000a\u000a### Root Cause\u000aThe problem was in the `OwnerResolver.resolveViaMap` method in\u000a`/tools/reporters/ci/flaky-tests/core/OwnerResolver.ts`. The logic\u000adidn't properly distinguish between exact suite matches and parent suite\u000aprefix matches when assigning the resolution level. Both types of\u000amatches were assigned the same level (\"suite\"), causing the first\u000aencountered match to win when priorities were equal.\u000a\u000a### Changes Made\u000a\u000a1. **Updated `types.ts`**: Added a new `OwnerResolutionLevel` value\u000a`\"parent-suite\"` to distinguish between exact suite matches and parent\u000asuite prefix matches.\u000a\u000a2. **Updated `OwnerResolver.ts`**:\u000a- Modified the level assignment logic to use `\"suite\"` for exact matches\u000aand `\"parent-suite\"` for prefix matches\u000a- Updated the level ranking to give exact suite matches (level 3) higher\u000aprecedence than parent suite matches (level 2)\u000a\u000a3. **Updated `OwnerResolver.test.ts`**:\u000a   - Fixed the import statement for `assertEquals`\u000a- Updated the test case type to include the new `\"parent-suite\"` level\u000a- Updated the existing parent suite test case to expect `\"parent-suite\"`\u000alevel instead of `\"suite\"`\u000a- Added a new test case specifically for the exact vs parent suite\u000aprecedence issue\u000a",
        "date" : "2025-12-18 07:47:49 +0000",
        "id" : "2196747ee59d0a69adab1fd3e6a2331afaf6ddaa",
        "msg" : "fix: prioritize exact suite matches over parent suite matches (#4008)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/reporters/ci/flaky-tests/core/OwnerResolver.ts"
          },
          {
            "editType" : "edit",
            "file" : "tools/reporters/ci/flaky-tests/core/types.ts"
          },
          {
            "editType" : "edit",
            "file" : "tools/reporters/ci/flaky-tests/core/OwnerResolver.test.ts"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://do.pingcap.net/jenkins/user/noreply",
      "fullName" : "noreply"
    }
  ]
}