Changeset 287857 in webkit
- Timestamp:
- Jan 10, 2022, 2:18:11 PM (5 years ago)
- Location:
- trunk/Tools
- Files:
-
- 5 edited
-
CISupport/ews-build/factories.py (modified) (4 diffs)
-
CISupport/ews-build/factories_unittest.py (modified) (35 diffs)
-
CISupport/ews-build/steps.py (modified) (1 diff)
-
CISupport/ews-build/steps_unittest.py (modified) (2 diffs)
-
ChangeLog (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/CISupport/ews-build/factories.py
r286405 r287857 49 49 self.addStep(ValidatePatch()) 50 50 self.addStep(PrintConfiguration()) 51 self.addStep(CleanGitRepo()) 51 52 self.addStep(CheckOutSource()) 52 53 # CheckOutSource step pulls the latest revision, since we use alwaysUseLatest=True. Without alwaysUseLatest Buildbot will … … 65 66 self.addStep(ValidatePatch()) 66 67 self.addStep(PrintConfiguration()) 68 self.addStep(CleanGitRepo()) 67 69 self.addStep(CheckOutSource()) 68 70 self.addStep(FetchBranches()) … … 79 81 self.addStep(ValidatePatch()) 80 82 self.addStep(PrintConfiguration()) 83 self.addStep(CleanGitRepo()) 81 84 self.addStep(CheckOutSource()) 82 85 self.addStep(FetchBranches()) … … 286 289 self.addStep(ValidateCommiterAndReviewer()) 287 290 self.addStep(PrintConfiguration()) 288 self.addStep(CleanGitRepo( ))291 self.addStep(CleanGitRepo(default_branch='master')) 289 292 self.addStep(CheckOutSource(repourl='https://git.webkit.org/git/WebKit-https')) 290 293 self.addStep(FetchBranches()) -
trunk/Tools/CISupport/ews-build/factories_unittest.py
r284492 r287857 34 34 'validate-patch', 35 35 'configuration', 36 'clean-up-git-repo', 36 37 'clean-and-update-working-directory', 37 38 'fetch-branch-references', … … 45 46 'validate-patch', 46 47 'configuration', 48 'clean-up-git-repo', 47 49 'clean-and-update-working-directory', 48 50 'fetch-branch-references', … … 56 58 'validate-patch', 57 59 'configuration', 60 'clean-up-git-repo', 58 61 'clean-and-update-working-directory', 59 62 'checkout-specific-revision', … … 70 73 'validate-patch', 71 74 'configuration', 75 'clean-up-git-repo', 72 76 'clean-and-update-working-directory', 73 77 'checkout-specific-revision', … … 88 92 'validate-patch', 89 93 'configuration', 94 'clean-up-git-repo', 90 95 'clean-and-update-working-directory', 91 96 'checkout-specific-revision', … … 100 105 'validate-patch', 101 106 'configuration', 107 'clean-up-git-repo', 102 108 'clean-and-update-working-directory', 103 109 'checkout-specific-revision', … … 112 118 'validate-patch', 113 119 'configuration', 120 'clean-up-git-repo', 114 121 'clean-and-update-working-directory', 115 122 'checkout-specific-revision', … … 132 139 'validate-patch', 133 140 'configuration', 141 'clean-up-git-repo', 134 142 'clean-and-update-working-directory', 135 143 'checkout-specific-revision', … … 144 152 'validate-patch', 145 153 'configuration', 154 'clean-up-git-repo', 146 155 'clean-and-update-working-directory', 147 156 'checkout-specific-revision', … … 163 172 'validate-patch', 164 173 'configuration', 174 'clean-up-git-repo', 165 175 'clean-and-update-working-directory', 166 176 'checkout-specific-revision', … … 176 186 'validate-patch', 177 187 'configuration', 188 'clean-up-git-repo', 178 189 'clean-and-update-working-directory', 179 190 'checkout-specific-revision', … … 195 206 'validate-patch', 196 207 'configuration', 208 'clean-up-git-repo', 197 209 'clean-and-update-working-directory', 198 210 'checkout-specific-revision', … … 215 227 'validate-patch', 216 228 'configuration', 229 'clean-up-git-repo', 217 230 'clean-and-update-working-directory', 218 231 'checkout-specific-revision', … … 232 245 'validate-patch', 233 246 'configuration', 247 'clean-up-git-repo', 234 248 'clean-and-update-working-directory', 235 249 'checkout-specific-revision', … … 245 259 'validate-patch', 246 260 'configuration', 261 'clean-up-git-repo', 247 262 'clean-and-update-working-directory', 248 263 'checkout-specific-revision', … … 264 279 'validate-patch', 265 280 'configuration', 281 'clean-up-git-repo', 266 282 'clean-and-update-working-directory', 267 283 'checkout-specific-revision', … … 276 292 'validate-patch', 277 293 'configuration', 294 'clean-up-git-repo', 278 295 'clean-and-update-working-directory', 279 296 'checkout-specific-revision', … … 288 305 'validate-patch', 289 306 'configuration', 307 'clean-up-git-repo', 290 308 'clean-and-update-working-directory', 291 309 'checkout-specific-revision', … … 300 318 'validate-patch', 301 319 'configuration', 320 'clean-up-git-repo', 302 321 'clean-and-update-working-directory', 303 322 'checkout-specific-revision', … … 313 332 'validate-patch', 314 333 'configuration', 334 'clean-up-git-repo', 315 335 'clean-and-update-working-directory', 316 336 'checkout-specific-revision', … … 328 348 'validate-patch', 329 349 'configuration', 350 'clean-up-git-repo', 330 351 'clean-and-update-working-directory', 331 352 'checkout-specific-revision', … … 340 361 'validate-patch', 341 362 'configuration', 363 'clean-up-git-repo', 342 364 'clean-and-update-working-directory', 343 365 'checkout-specific-revision', … … 354 376 'validate-patch', 355 377 'configuration', 378 'clean-up-git-repo', 356 379 'clean-and-update-working-directory', 357 380 'checkout-specific-revision', … … 368 391 'validate-patch', 369 392 'configuration', 393 'clean-up-git-repo', 370 394 'clean-and-update-working-directory', 371 395 'checkout-specific-revision', … … 381 405 'validate-patch', 382 406 'configuration', 407 'clean-up-git-repo', 383 408 'clean-and-update-working-directory', 384 409 'checkout-specific-revision', … … 396 421 'validate-patch', 397 422 'configuration', 423 'clean-up-git-repo', 398 424 'clean-and-update-working-directory', 399 425 'checkout-specific-revision', … … 409 435 'validate-patch', 410 436 'configuration', 437 'clean-up-git-repo', 411 438 'clean-and-update-working-directory', 412 439 'checkout-specific-revision', … … 424 451 'validate-patch', 425 452 'configuration', 453 'clean-up-git-repo', 426 454 'clean-and-update-working-directory', 427 455 'checkout-specific-revision', … … 437 465 'validate-patch', 438 466 'configuration', 467 'clean-up-git-repo', 439 468 'clean-and-update-working-directory', 440 469 'checkout-specific-revision', … … 449 478 'validate-patch', 450 479 'configuration', 480 'clean-up-git-repo', 451 481 'clean-and-update-working-directory', 452 482 'checkout-specific-revision', … … 462 492 'validate-patch', 463 493 'configuration', 494 'clean-up-git-repo', 464 495 'clean-and-update-working-directory', 465 496 'checkout-specific-revision', … … 473 504 'validate-patch', 474 505 'configuration', 506 'clean-up-git-repo', 475 507 'clean-and-update-working-directory', 476 508 'checkout-specific-revision', … … 487 519 'validate-patch', 488 520 'configuration', 521 'clean-up-git-repo', 489 522 'clean-and-update-working-directory', 490 523 'checkout-specific-revision', … … 501 534 'validate-patch', 502 535 'configuration', 536 'clean-up-git-repo', 503 537 'clean-and-update-working-directory', 504 538 'checkout-specific-revision', … … 517 551 'validate-patch', 518 552 'configuration', 553 'clean-up-git-repo', 519 554 'clean-and-update-working-directory', 520 555 'checkout-specific-revision', -
trunk/Tools/CISupport/ews-build/steps.py
r287719 r287857 3575 3575 flunkOnFailure = False 3576 3576 logEnviron = False 3577 # This somewhat quirky sequence of steps seems to clear up all the broken 3578 # git situations we've gotten ourself into in the past. 3579 command_list = [['git', 'clean', '-f', '-d'], # Remove any left-over layout test results, added files, etc. 3580 ['git', 'fetch', 'origin'], # Avoid updating the working copy to a stale revision. 3581 ['git', 'checkout', 'origin/master', '-f'], 3582 ['git', 'branch', '-D', 'master'], 3583 ['git', 'checkout', 'origin/master', '-b', 'master']] 3577 3578 def __init__(self, default_branch='main', remote='origin', **kwargs): 3579 super(CleanGitRepo, self).__init__(timeout=5 * 60, **kwargs) 3580 self.default_branch = default_branch 3581 self.git_remote = remote 3584 3582 3585 3583 def run(self): 3584 branch = self.getProperty('basename', self.default_branch) 3586 3585 self.commands = [] 3587 for command in self.command_list: 3586 for command in [ 3587 ['git', 'clean', '-f', '-d'], # Remove any left-over layout test results, added files, etc. 3588 ['git', 'fetch', self.git_remote], # Avoid updating the working copy to a stale revision. 3589 ['git', 'checkout', '{}/{}'.format(self.git_remote, branch), '-f'], # Checkout branch from specific remote 3590 ['git', 'branch', '-D', '{}'.format(branch)], # Delete any local cache of the specified branch 3591 ['git', 'checkout', '{}/{}'.format(self.git_remote, branch), '-b', '{}'.format(branch)], # Checkout local instance of branch from remote 3592 ]: 3588 3593 self.commands.append(util.ShellArg(command=command, logname='stdio')) 3589 3594 return super(CleanGitRepo, self).run() -
trunk/Tools/CISupport/ews-build/steps_unittest.py
r287133 r287857 4331 4331 def test_success(self): 4332 4332 self.setupStep(CleanGitRepo()) 4333 self.setProperty('buildername', 'Style-EWS') 4334 4335 self.expectRemoteCommands( 4336 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4337 + ExpectShell.log('stdio', stdout=''), 4338 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4339 + ExpectShell.log('stdio', stdout=''), 4340 ExpectShell(command=['git', 'checkout', 'origin/main', '-f'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4341 + ExpectShell.log('stdio', stdout='You are in detached HEAD state.'), 4342 ExpectShell(command=['git', 'branch', '-D', 'main'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4343 + ExpectShell.log('stdio', stdout='Deleted branch main (was 57015967fef9).'), 4344 ExpectShell(command=['git', 'checkout', 'origin/main', '-b', 'main'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4345 + ExpectShell.log('stdio', stdout="Switched to a new branch 'main'"), 4346 ) 4347 self.expectOutcome(result=SUCCESS, state_string='Cleaned up git repository') 4348 return self.runStep() 4349 4350 def test_success_master(self): 4351 self.setupStep(CleanGitRepo(default_branch='master')) 4333 4352 self.setProperty('buildername', 'Commit-Queue') 4334 4353 4335 4354 self.expectRemoteCommands( 4336 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04355 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4337 4356 + ExpectShell.log('stdio', stdout=''), 4338 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04357 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4339 4358 + ExpectShell.log('stdio', stdout=''), 4340 ExpectShell(command=['git', 'checkout', 'origin/master', '-f'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04359 ExpectShell(command=['git', 'checkout', 'origin/master', '-f'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4341 4360 + ExpectShell.log('stdio', stdout='You are in detached HEAD state.'), 4342 ExpectShell(command=['git', 'branch', '-D', 'master'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04361 ExpectShell(command=['git', 'branch', '-D', 'master'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4343 4362 + ExpectShell.log('stdio', stdout='Deleted branch master (was 57015967fef9).'), 4344 ExpectShell(command=['git', 'checkout', 'origin/master', '-b', 'master'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04363 ExpectShell(command=['git', 'checkout', 'origin/master', '-b', 'master'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4345 4364 + ExpectShell.log('stdio', stdout="Switched to a new branch 'master'"), 4346 4365 ) … … 4353 4372 4354 4373 self.expectRemoteCommands( 4355 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout= 1200, logEnviron=False) + 04374 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4356 4375 + ExpectShell.log('stdio', stdout=''), 4357 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout= 1200, logEnviron=False) + 1284376 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout=300, logEnviron=False) + 128 4358 4377 + ExpectShell.log('stdio', stdout='fatal: unable to access https://github.com/WebKit/WebKit.git/: Could not resolve host: github.com'), 4359 ExpectShell(command=['git', 'checkout', 'origin/ma ster', '-f'], workdir='wkdir', timeout=1200, logEnviron=False) + 04378 ExpectShell(command=['git', 'checkout', 'origin/main', '-f'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4360 4379 + ExpectShell.log('stdio', stdout='You are in detached HEAD state.'), 4361 ExpectShell(command=['git', 'branch', '-D', 'ma ster'], workdir='wkdir', timeout=1200, logEnviron=False) + 04362 + ExpectShell.log('stdio', stdout='Deleted branch ma ster(was 57015967fef9).'),4363 ExpectShell(command=['git', 'checkout', 'origin/ma ster', '-b', 'master'], workdir='wkdir', timeout=1200, logEnviron=False) + 04364 + ExpectShell.log('stdio', stdout="Switched to a new branch 'ma ster'"),4380 ExpectShell(command=['git', 'branch', '-D', 'main'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4381 + ExpectShell.log('stdio', stdout='Deleted branch main (was 57015967fef9).'), 4382 ExpectShell(command=['git', 'checkout', 'origin/main', '-b', 'main'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4383 + ExpectShell.log('stdio', stdout="Switched to a new branch 'main'"), 4365 4384 ) 4366 4385 self.expectOutcome(result=FAILURE, state_string='Encountered some issues during cleanup') 4367 4386 return self.runStep() 4368 4387 4388 def test_branch(self): 4389 self.setupStep(CleanGitRepo()) 4390 self.setProperty('buildername', 'Commit-Queue') 4391 self.setProperty('basename', 'safari-612-branch') 4392 4393 self.expectRemoteCommands( 4394 ExpectShell(command=['git', 'clean', '-f', '-d'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4395 + ExpectShell.log('stdio', stdout=''), 4396 ExpectShell(command=['git', 'fetch', 'origin'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4397 + ExpectShell.log('stdio', stdout=''), 4398 ExpectShell(command=['git', 'checkout', 'origin/safari-612-branch', '-f'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4399 + ExpectShell.log('stdio', stdout='You are in detached HEAD state.'), 4400 ExpectShell(command=['git', 'branch', '-D', 'safari-612-branch'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4401 + ExpectShell.log('stdio', stdout='Deleted branch safari-612-branch (was 57015967fef9).'), 4402 ExpectShell(command=['git', 'checkout', 'origin/safari-612-branch', '-b', 'safari-612-branch'], workdir='wkdir', timeout=300, logEnviron=False) + 0 4403 + ExpectShell.log('stdio', stdout="Switched to a new branch 'safari-612-branch'"), 4404 ) 4405 self.expectOutcome(result=SUCCESS, state_string='Cleaned up git repository') 4406 return self.runStep() 4369 4407 4370 4408 class TestFindModifiedChangeLogs(BuildStepMixinAdditions, unittest.TestCase): -
trunk/Tools/ChangeLog
r287853 r287857 1 2022-01-05 Jonathan Bedard <jbedard@apple.com> 2 3 [EWS] Always invoke CleanGitRepo before CheckOutSource 4 https://bugs.webkit.org/show_bug.cgi?id=234882 5 <rdar://problem/87145396> 6 7 Reviewed by Aakash Jain. 8 9 * CISupport/ews-build/factories.py: 10 (Factory.__init__): Add CleanGitRepo step. 11 (StyleFactory.__init__): Ditto. 12 (WatchListFactory.__init__): Ditto. 13 (CommitQueueFactory.__init__): Specify default branch as 'master.' 14 * CISupport/ews-build/factories_unittest.py: 15 (TestExpectedBuildSteps): 16 * CISupport/ews-build/steps.py: 17 (CleanGitRepo.__init__): Accept default_branch and remote. 18 (CleanGitRepo.run): Construct commands with awareness of branch and remote, 19 check to see if a basename is specified. 20 * CISupport/ews-build/steps_unittest.py: 21 1 22 2021-12-17 Jonathan Bedard <jbedard@apple.com> 2 23
Note:
See TracChangeset
for help on using the changeset viewer.