⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 268749 in webkit


Ignore:
Timestamp:
Oct 20, 2020, 10:53:55 AM (6 years ago)
Author:
aakash_jain@apple.com
Message:

[build.webkit.org] Use builder tags instead of category for latest buildbot
https://bugs.webkit.org/show_bug.cgi?id=217958

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py:

(loadBuilderConfig):
(PlatformSpecificScheduler.filter):
(getInvalidTags):
(getValidTags):
(getTagsForBuilder):

  • BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added unit-tests, copied from EWS code.

(TagsForBuilderTest):
(TagsForBuilderTest.verifyTags):
(TagsForBuilderTest.test_getTagsForBuilder):
(TagsForBuilderTest.test_tags_type):
(TagsForBuilderTest.test_getInvalidTags):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py

    r268674 r268749  
    158158            builder['nextBuild'] = pickLatestBuild
    159159
    160         if not USE_BUILDBOT_VERSION2:
     160        if USE_BUILDBOT_VERSION2:
     161            builder['tags'] = getTagsForBuilder(builder)
     162        else:
    161163            builder['category'] = category
    162164        c['builders'].append(builder)
     
    171173    def filter(self, change):
    172174        return wkbuild.should_build(self.platform, change.files)
     175
     176
     177def getInvalidTags():
     178    """
     179    We maintain a list of words which we do not want to display as tag in buildbot.
     180    We generate a list of tags by splitting the builder name. We do not want certain words as tag.
     181    For e.g. we don't want '11'as tag for builder iOS-11-Simulator-EWS
     182    """
     183    invalid_tags = [str(i) for i in xrange(0, 20)]
     184    invalid_tags.extend(['EWS', 'TryBot'])
     185    return invalid_tags
     186
     187
     188def getValidTags(tags):
     189    return list(set(tags) - set(getInvalidTags()))
     190
     191
     192def getTagsForBuilder(builder):
     193    keywords = filter(None, re.split('[, \-_:()]+', str(builder['name'])))
     194    return getValidTags(keywords)
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py

    r268429 r268749  
    2727import os
    2828import unittest
     29
     30import loadConfig
    2931
    3032
     
    6668
    6769
     70class TagsForBuilderTest(unittest.TestCase):
     71    def verifyTags(self, builderName, expectedTags):
     72        tags = loadConfig.getTagsForBuilder({'name': builderName})
     73        self.assertEqual(sorted(tags), sorted(expectedTags))
     74
     75    def test_getTagsForBuilder(self):
     76        self.verifyTags('EWS', [])
     77        self.verifyTags('TryBot-10-EWS', [])
     78        self.verifyTags('11-EWS', [])
     79        self.verifyTags('32-EWS', ['32'])
     80        self.verifyTags('iOS-11-EWS', ['iOS'])
     81        self.verifyTags('iOS(11),(test)-EWS', ['iOS', 'test'])
     82        self.verifyTags('Windows-EWS', ['Windows'])
     83        self.verifyTags('Windows_Windows', ['Windows'])
     84        self.verifyTags('GTK-Build-EWS', ['GTK', 'Build'])
     85        self.verifyTags('GTK-WK2-Tests-EWS', ['GTK', 'WK2', 'Tests'])
     86        self.verifyTags('macOS-Sierra-Release-WK1-EWS', ['Sierra', 'Release', 'macOS', 'WK1'])
     87        self.verifyTags('macOS-High-Sierra-Release-32bit-WK2-EWS', ['macOS', 'High', 'Sierra', 'Release', 'WK2', '32bit'])
     88
     89    def test_tags_type(self):
     90        tags = loadConfig.getTagsForBuilder({'name': u'iOS-11-EWS'})
     91        self.assertEqual(tags, ['iOS'])
     92        self.assertEqual(type(tags[0]), str)
     93
     94    def test_getInvalidTags(self):
     95        invalidTags = loadConfig.getInvalidTags()
     96        expectedTags = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
     97                        '11', '12', '13', '14', '15', '16', '17', '18', '19', 'EWS', 'TryBot']
     98        self.assertEqual(invalidTags, expectedTags)
     99
     100
    68101if __name__ == '__main__':
    69102    unittest.main()
  • trunk/Tools/ChangeLog

    r268740 r268749  
     12020-10-20  Aakash Jain  <aakash_jain@apple.com>
     2
     3        [build.webkit.org] Use builder tags instead of category for latest buildbot
     4        https://bugs.webkit.org/show_bug.cgi?id=217958
     5
     6        Reviewed by Jonathan Bedard.
     7
     8        * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
     9        (loadBuilderConfig):
     10        (PlatformSpecificScheduler.filter):
     11        (getInvalidTags):
     12        (getValidTags):
     13        (getTagsForBuilder):
     14        * BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added unit-tests, copied from EWS code.
     15        (TagsForBuilderTest):
     16        (TagsForBuilderTest.verifyTags):
     17        (TagsForBuilderTest.test_getTagsForBuilder):
     18        (TagsForBuilderTest.test_tags_type):
     19        (TagsForBuilderTest.test_getInvalidTags):
     20
    1212020-10-20  Michael Catanzaro  <mcatanzaro@gnome.org>
    222
Note: See TracChangeset for help on using the changeset viewer.