Title: [294051] trunk/Tools/CISupport/build-webkit-org
Revision
294051
Author
aakash_j...@apple.com
Date
2022-05-11 07:27:02 -0700 (Wed, 11 May 2022)

Log Message

[build.webkit.org] Allow users to specify custom revision to checkout
https://bugs.webkit.org/show_bug.cgi?id=240307

Reviewed by Ryan Haddad.

* Tools/CISupport/build-webkit-org/factories.py:
(Factory.__init__):
* Tools/CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
* Tools/CISupport/build-webkit-org/steps.py:
(CheckOutSpecificRevision):
(CheckOutSpecificRevision.__init__):
(CheckOutSpecificRevision.doStepIf):
(CheckOutSpecificRevision.hideStepIf):
(CheckOutSpecificRevision.start):
(ShowIdentifier.start):
(ShowIdentifier.evaluateCommand):

Canonical link: https://commits.webkit.org/250457@main

Modified Paths

Property Changed

Diff

Modified: trunk/Tools/CISupport/build-webkit-org/factories.py (294050 => 294051)


--- trunk/Tools/CISupport/build-webkit-org/factories.py	2022-05-11 04:27:58 UTC (rev 294050)
+++ trunk/Tools/CISupport/build-webkit-org/factories.py	2022-05-11 14:27:02 UTC (rev 294051)
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2021 Apple Inc. All rights reserved.
+# Copyright (C) 2017-2022 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -32,6 +32,7 @@
         self.addStep(ConfigureBuild(platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly, additionalArguments=additionalArguments, device_model=device_model))
         self.addStep(PrintConfiguration())
         self.addStep(CheckOutSource())
+        self.addStep(CheckOutSpecificRevision())
         self.addStep(ShowIdentifier())
         if not (platform == "jsc-only"):
             self.addStep(KillOldProcesses())
Property changes on: trunk/Tools/CISupport/build-webkit-org/factories.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/CISupport/build-webkit-org/factories_unittest.py (294050 => 294051)


--- trunk/Tools/CISupport/build-webkit-org/factories_unittest.py	2022-05-11 04:27:58 UTC (rev 294050)
+++ trunk/Tools/CISupport/build-webkit-org/factories_unittest.py	2022-05-11 14:27:02 UTC (rev 294051)
@@ -32,6 +32,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -48,6 +49,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -60,6 +62,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -72,6 +75,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -97,6 +101,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -122,6 +127,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -147,6 +153,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -172,6 +179,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -188,6 +196,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -200,6 +209,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -225,6 +235,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -250,6 +261,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -275,6 +287,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -300,6 +313,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -312,6 +326,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -324,6 +339,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -340,6 +356,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -365,6 +382,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -390,6 +408,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -415,6 +434,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -440,6 +460,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -465,6 +486,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -477,6 +499,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -488,6 +511,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -500,6 +524,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -516,6 +541,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -541,6 +567,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -566,6 +593,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -591,6 +619,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -616,6 +645,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -628,6 +658,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -653,6 +684,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -663,6 +695,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -673,6 +706,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -689,6 +723,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -705,6 +740,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -729,6 +765,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -753,6 +790,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -777,6 +815,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -801,6 +840,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -825,6 +865,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -849,6 +890,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -859,6 +901,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -869,6 +912,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -879,6 +923,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -889,6 +934,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -904,6 +950,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -919,6 +966,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -942,6 +990,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -965,6 +1014,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -982,6 +1032,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -993,6 +1044,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1016,6 +1068,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1030,6 +1083,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1043,6 +1097,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1059,6 +1114,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1082,6 +1138,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1096,6 +1153,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1109,6 +1167,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1123,6 +1182,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1147,6 +1207,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1157,6 +1218,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1167,6 +1229,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1179,6 +1242,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1191,6 +1255,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1214,6 +1279,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1232,6 +1298,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1246,6 +1313,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1268,6 +1336,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1280,6 +1349,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1294,6 +1364,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1316,6 +1387,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1328,6 +1400,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1338,6 +1411,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1348,6 +1422,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'delete-WebKitBuild-directory',
             'delete-stale-build-files',
@@ -1358,6 +1433,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'delete-WebKitBuild-directory',
             'delete-stale-build-files',
@@ -1368,6 +1444,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'delete-WebKitBuild-directory',
             'delete-stale-build-files',
@@ -1378,6 +1455,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'delete-WebKitBuild-directory',
             'delete-stale-build-files',
@@ -1388,6 +1466,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1403,6 +1482,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1427,6 +1507,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1441,6 +1522,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1456,6 +1538,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1480,6 +1563,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1494,6 +1578,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1506,6 +1591,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1518,6 +1604,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',
@@ -1529,6 +1616,7 @@
             'configure-build',
             'configuration',
             'clean-and-update-working-directory',
+            'checkout-specific-revision',
             'show-identifier',
             'kill-old-processes',
             'delete-WebKitBuild-directory',

Modified: trunk/Tools/CISupport/build-webkit-org/loadConfig.py (294050 => 294051)


--- trunk/Tools/CISupport/build-webkit-org/loadConfig.py	2022-05-11 04:27:58 UTC (rev 294050)
+++ trunk/Tools/CISupport/build-webkit-org/loadConfig.py	2022-05-11 14:27:02 UTC (rev 294051)
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2021 Apple Inc. All rights reserved.
+# Copyright (C) 2017-2022 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -75,7 +75,8 @@
     # Setup force schedulers
     builderNames = [str(builder['name']) for builder in config['builders']]
     reason = StringParameter(name='reason', default='', size=40)
-    properties = [BooleanParameter(name='is_clean', label='Force Clean build')]
+    properties = [StringParameter(name='user_provided_git_hash', label='git hash to build (optional)', required=False),
+                  BooleanParameter(name='is_clean', label='Force Clean build')]
     # Disable default enabled input fields: revision, repository, project and branch
     codebases = [CodebaseParameter("",
                  revision=FixedParameter(name="revision", default=""),

Modified: trunk/Tools/CISupport/build-webkit-org/steps.py (294050 => 294051)


--- trunk/Tools/CISupport/build-webkit-org/steps.py	2022-05-11 04:27:58 UTC (rev 294050)
+++ trunk/Tools/CISupport/build-webkit-org/steps.py	2022-05-11 14:27:02 UTC (rev 294051)
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2021 Apple Inc. All rights reserved.
+# Copyright (C) 2017-2022 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -172,6 +172,26 @@
         return super(CleanUpGitIndexLock, self).evaluateCommand(cmd)
 
 
+class CheckOutSpecificRevision(shell.ShellCommand):
+    name = 'checkout-specific-revision'
+    descriptionDone = ['Checked out required revision']
+    flunkOnFailure = True
+    haltOnFailure = True
+
+    def __init__(self, **kwargs):
+        super(CheckOutSpecificRevision, self).__init__(logEnviron=False, **kwargs)
+
+    def doStepIf(self, step):
+        return self.getProperty('user_provided_git_hash', False)
+
+    def hideStepIf(self, results, step):
+        return not self.doStepIf(step)
+
+    def start(self):
+        self.setCommand(['git', 'checkout', self.getProperty('user_provided_git_hash')])
+        return shell.ShellCommand.start(self)
+
+
 class InstallWin32Dependencies(shell.Compile):
     description = ["installing dependencies"]
     descriptionDone = ["installed dependencies"]
@@ -1283,7 +1303,7 @@
     def start(self):
         self.log_observer = logobserver.BufferLogObserver()
         self.addLogObserver('stdio', self.log_observer)
-        revision = self.getProperty('got_revision')
+        revision = self.getProperty('user_provided_git_hash', None) or self.getProperty('got_revision')
         self.setCommand(['python3', 'Tools/Scripts/git-webkit', 'find', revision])
         return shell.ShellCommand.start(self)
 
@@ -1300,7 +1320,12 @@
                 identifier = identifier.replace('trunk', 'main')
             self.setProperty('identifier', identifier)
             self.setProperty('archive_revision', identifier)
-            step = self.getLastBuildStepByName(CheckOutSource.name)
+
+            if self.getProperty('user_provided_git_hash'):
+                step = self.getLastBuildStepByName(CheckOutSpecificRevision.name)
+            else:
+                step = self.getLastBuildStepByName(CheckOutSource.name)
+
             if not step:
                 step = self
             step.addURL('Updated to {}'.format(identifier), self.url_for_identifier(identifier))
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to