{
  "_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" : 17955,
      "buildableTimeMillis" : 17955,
      "buildingDurationMillis" : 51575,
      "executingTimeMillis" : 51575,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 7607,
      "waitingTimeMillis" : 7607
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1608,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
            "branch" : [
              {
                "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
                "name" : "origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
            "branch" : [
              {
                "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
                "name" : "origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
        "branch" : [
          {
            "SHA1" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
            "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" : "#1608",
  "duration" : 51575,
  "estimatedDuration" : 86474,
  "executor" : None,
  "fullDisplayName" : "seed #1608",
  "id" : "1608",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1608,
  "queueId" : 3662908,
  "result" : "SUCCESS",
  "timestamp" : 1775817657126,
  "url" : "https://do.pingcap.net/jenkins/view/all/job/seed/1608/",
  "builtOn" : "default-gp5f7",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tekton/v1/pipelines/pingcap-build-package-linux.yaml"
        ],
        "commitId" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
        "timestamp" : 1775817627000,
        "author" : {
          "absoluteUrl" : "https://do.pingcap.net/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "tekton: avoid dirty tidb-operator version during image builds (#4503)\u000a\u000a## Summary\u000a- move the package `release-dir` outside the checked-out source repo in\u000athe linux package pipeline\u000a- avoid creating an untracked `build/` directory inside component repos\u000abefore kaniko image builds\u000a- fix the `tidb-operator` image version showing `-dirty` when built\u000athrough the tekton package pipeline\u000a\u000a## Root cause\u000a`pingcap-build-images` runs in the checked-out repo root and the\u000agenerated image build script unconditionally creates `RELEASE_WS` before\u000ainvoking kaniko. The linux package pipeline currently passes\u000a`release-dir=build`, so the repo gets an untracked `build/` directory.\u000aFor `tidb-operator >= 2.0`, image builds use `context: .` plus\u000a`image/Dockerfile`, and the Dockerfile runs `./hack/build.sh` inside the\u000arepo. `tidb-operator` derives `dirty` from VCS state, so the untracked\u000a`build/` directory turns the version into `-dirty`.\u000a\u000a## Validation\u000a- `yq e '.' tekton/v1/pipelines/pingcap-build-package-linux.yaml\u000a>/dev/null`\u000a- `git diff --check`\u000a- local repro in `pingcap/tidb-operator`:\u000a  - clean tree => clean version metadata\u000a- creating only an untracked `build/` directory => dirty version\u000ametadata\u000a",
        "date" : "2026-04-10 10:40:27 +0000",
        "id" : "dd7dc0392220d9d4e4f5cb29bd7306f8118d9f62",
        "msg" : "tekton: avoid dirty tidb-operator version during image builds (#4503)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tekton/v1/pipelines/pingcap-build-package-linux.yaml"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://do.pingcap.net/jenkins/user/noreply",
      "fullName" : "noreply"
    }
  ]
}