<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by ti-chi-bot[bot]</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>48566</buildableDurationMillis><buildableTimeMillis>48566</buildableTimeMillis><buildingDurationMillis>65715</buildingDurationMillis><executingTimeMillis>65715</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>5635</waitingDurationMillis><waitingTimeMillis>5635</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1508</buildNumber><marked><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><branch><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><name>origin/main</name></branch></marked><revision><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><branch><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><branch><SHA1>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</SHA1><name>origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/PingCAP-QE/ci.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1508</displayName><duration>65715</duration><estimatedDuration>50732</estimatedDuration><fullDisplayName>seed #1508</fullDisplayName><id>1508</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1508</number><queueId>3445225</queueId><result>SUCCESS</result><timestamp>1773294420498</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1508/</url><builtOn>default-9p2sm</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pipelines/pingcap/tiflash/latest/pull_unit_test.groovy</affectedPath><commitId>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</commitId><timestamp>1773294362000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>fix(tiflash): handle ut-build cache restore in unit test prepare (#4345)

## Summary
- make `Unit Test Prepare` resilient when `build_cache_ready` was not
initialized before cache restore
- detect restored ut-build content by checking `tests/.build/tiflash`
inside the cache block
- use `mkdir -p tests/.build` to avoid `File exists` failure

## Why
In pull_unit_test #5456, `Unit Test Prepare` failed with `mkdir: cannot
create directory 'tests/.build': File exists` after cache restore. This
change makes the step idempotent and tolerant to cache state mismatches.

## Replay test

https://do.pingcap.net/jenkins/blue/organizations/jenkins/pingcap%2Ftiflash%2Fpull_unit_test/detail/pull_unit_test/5461/pipeline/
</comment><date>2026-03-12 05:46:02 +0000</date><id>ac4e61ec2c23494dc1d51d1bd849d45c67d8dfc1</id><msg>fix(tiflash): handle ut-build cache restore in unit test prepare (#4345)</msg><path><editType>edit</editType><file>pipelines/pingcap/tiflash/latest/pull_unit_test.groovy</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>